From bccc4eaa4445a26a92370e175da5f1bf94194456 Mon Sep 17 00:00:00 2001
From: zramsay <zach@monax.io>
Date: Mon, 28 Nov 2016 09:15:24 -0500
Subject: [PATCH] genesis test: refactor

---
 client/cmd/genesis.go | 14 ++-----
 genesis/gen_test.go   | 87 ++++---------------------------------------
 2 files changed, 12 insertions(+), 89 deletions(-)

diff --git a/client/cmd/genesis.go b/client/cmd/genesis.go
index fcb4e8d9..ad8d0121 100644
--- a/client/cmd/genesis.go
+++ b/client/cmd/genesis.go
@@ -10,23 +10,17 @@ import (
 
 // TODO refactor these vars into a struct?
 var (
-	//DirFlag string
-	//AddrsFlag  string
 	AccountsPathFlag   string
 	ValidatorsPathFlag string
-	//CsvPathFlag        string
-	//PubkeyFlag         string
-	//RootFlag           string
-	//NoValAccountsFlag  bool
 )
 
 var GenesisGenCmd = &cobra.Command{
-	Use:   "genesis",
-	Short: "eris-client genesis creates a genesis.json with known inputs",
-	Long:  "eris-client genesis creates a genesis.json with known inputs",
+	Use:   "make-genesis",
+	Short: "eris-client make-genesis creates a genesis.json with known inputs",
+	Long:  "eris-client make-genesis creates a genesis.json with known inputs",
 
 	Run: func(cmd *cobra.Command, args []string) {
-
+		// TODO refactor to not panic
 		genesisFile, err := genesis.GenerateKnown(args[0], AccountsPathFlag, ValidatorsPathFlag)
 		if err != nil {
 			panic(err)
diff --git a/genesis/gen_test.go b/genesis/gen_test.go
index 6bbb1424..3a663fd6 100644
--- a/genesis/gen_test.go
+++ b/genesis/gen_test.go
@@ -9,11 +9,14 @@ import (
 	"path"
 	"testing"
 
-	ptypes "github.com/eris-ltd/mint-client/Godeps/_workspace/src/github.com/eris-ltd/tendermint/permission/types"
-	stypes "github.com/eris-ltd/mint-client/Godeps/_workspace/src/github.com/eris-ltd/tendermint/state/types"
-	"github.com/eris-ltd/mint-client/Godeps/_workspace/src/github.com/eris-ltd/tendermint/types"
+	stypes "github.com/eris-ltd/eris-db/manager/eris-mint/state/types"
+	ptypes "github.com/eris-ltd/eris-db/permission/types"
+	// XXX
+	//"github.com/eris-ltd/mint-client/Godeps/_workspace/src/github.com/eris-ltd/tendermint/types"
 )
 
+var DirFlag string
+
 func MakeGenesisDocFromFile(genDocFile string) *stypes.GenesisDoc {
 	jsonBlob, err := ioutil.ReadFile(genDocFile)
 	if err != nil {
@@ -23,80 +26,6 @@ func MakeGenesisDocFromFile(genDocFile string) *stypes.GenesisDoc {
 	return stypes.GenesisDocFromJSON(jsonBlob)
 }
 
-func testCoreRandom(N int) error {
-	chainID := "test_chainID"
-
-	genBytes, privVals, err := coreRandom(N, chainID, "", "", "", false)
-	if err != nil {
-		return err
-	}
-
-	if len(privVals) != N {
-		return fmt.Errorf("len(privVals) != N")
-	}
-
-	// make sure each validator is in the genesis and all genesi are the same
-	for i, v := range privVals {
-		dirFlag := DirFlag
-		if N > 1 {
-			dirFlag = path.Join(DirFlag, fmt.Sprintf("%s_%d", chainID, i))
-		}
-
-		b, err := ioutil.ReadFile(path.Join(dirFlag, "genesis.json"))
-		if err != nil {
-			return err
-		}
-		if !bytes.Equal(b, genBytes) {
-			return fmt.Errorf("written genesis.json different from returned by coreRandom")
-		}
-
-		gDoc := MakeGenesisDocFromFile(path.Join(dirFlag, "genesis.json"))
-
-		if len(gDoc.Validators) != N {
-			return fmt.Errorf("Expected %d validators. Got %d", N, len(gDoc.Validators))
-		}
-
-		privVal := types.LoadPrivValidator(path.Join(dirFlag, "priv_validator.json"))
-		if !bytes.Equal(privVal.Address, v.Address) {
-			return fmt.Errorf("priv_validator file contents different than result of coreRandom")
-		}
-		var found bool
-		for _, val := range gDoc.Validators {
-			if bytes.Equal(val.UnbondTo[0].Address, privVal.Address) {
-				found = true
-			}
-		}
-		if !found {
-			return fmt.Errorf("failed to find validator %d:%X in genesis.json", i, v.Address)
-		}
-	}
-	return nil
-}
-
-func TestRandom(t *testing.T) {
-	// make temp dir
-	dir, err := ioutil.TempDir(os.TempDir(), "mintgen-test")
-	if err != nil {
-		t.Fatal(err)
-	}
-
-	DirFlag = dir
-	defer func() {
-		// cleanup
-		os.RemoveAll(DirFlag)
-		if err != nil {
-			t.Fatal(err)
-		}
-	}()
-
-	if err = testCoreRandom(1); err != nil {
-		return
-	}
-	if err = testCoreRandom(3); err != nil {
-		return
-	}
-}
-
 type GenDoc struct {
 	pubkeys []string
 	amts    []int
@@ -126,7 +55,7 @@ func csv1String() string {
 	for i, pub := range csv1.pubkeys {
 		buf.WriteString(fmt.Sprintf("%s,%d,%s,%d,%d\n", pub, csv1.amts[i], csv1.names[i], csv1.perms[i], csv1.setbits[i]))
 	}
-	return string(buf.Bytes())
+	return buf.String()
 }
 
 func csv2String() string {
@@ -134,7 +63,7 @@ func csv2String() string {
 	for _, pub := range csv2.pubkeys {
 		buf.WriteString(fmt.Sprintf("%s,\n", pub))
 	}
-	return string(buf.Bytes())
+	return buf.String()
 }
 
 func testKnownCSV(csvFile string, csv GenDoc) error {
-- 
GitLab