github.com/jbendotnet/noms@v0.0.0-20190904222105-c43e4293ea92/cmd/noms/noms_root_test.go (about)

     1  // Copyright 2016 Attic Labs, Inc. All rights reserved.
     2  // Licensed under the Apache License, version 2.0:
     3  // http://www.apache.org/licenses/LICENSE-2.0
     4  
     5  package main
     6  
     7  import (
     8  	"testing"
     9  
    10  	"github.com/attic-labs/noms/go/spec"
    11  	"github.com/attic-labs/noms/go/types"
    12  	"github.com/attic-labs/noms/go/util/clienttest"
    13  	"github.com/stretchr/testify/suite"
    14  )
    15  
    16  func TestNomsRoot(t *testing.T) {
    17  	suite.Run(t, &nomsRootTestSuite{})
    18  }
    19  
    20  type nomsRootTestSuite struct {
    21  	clienttest.ClientTestSuite
    22  }
    23  
    24  func (s *nomsRootTestSuite) TestBasic() {
    25  	datasetName := "root-get"
    26  	dsSpec := spec.CreateValueSpecString("nbs", s.DBDir, datasetName)
    27  	sp, err := spec.ForDataset(dsSpec)
    28  	s.NoError(err)
    29  	defer sp.Close()
    30  
    31  	ds := sp.GetDataset()
    32  	dbSpecStr := spec.CreateDatabaseSpecString("nbs", s.DBDir)
    33  	ds, _ = ds.Database().CommitValue(ds, types.String("hello!"))
    34  	c1, _ := s.MustRun(main, []string{"root", dbSpecStr})
    35  	s.Equal("5te45oue1g918rpcvmc3d2emqkse4fhq\n", c1)
    36  
    37  	ds, _ = ds.Database().CommitValue(ds, types.String("goodbye"))
    38  	c2, _ := s.MustRun(main, []string{"root", dbSpecStr})
    39  	s.Equal("nm81pr21t66nec3v8jts5e37njg5ab1g\n", c2)
    40  
    41  	// TODO: Would be good to test successful --update too, but requires changes to MustRun to allow
    42  	// input because of prompt :(.
    43  }