diff --git a/testing/def/definitions.go b/testing/def/definitions.go index 90fe21b8..1fc418cb 100644 --- a/testing/def/definitions.go +++ b/testing/def/definitions.go @@ -1,3 +1,4 @@ package def +// ConfigFileName is name of config file for 1build const ConfigFileName string = "1build.yaml" diff --git a/testing/fixtures/command_init_fixtures.go b/testing/fixtures/command_init_fixtures.go index c07a5463..69ef4c86 100644 --- a/testing/fixtures/command_init_fixtures.go +++ b/testing/fixtures/command_init_fixtures.go @@ -8,7 +8,7 @@ import ( "testing" ) -func FeatureInitTestsData() []Test { +func featureInitTestsData() []Test { feature := "init" return []Test{ shouldInitialiseNewProject(feature), diff --git a/testing/fixtures/command_list_fixtures.go b/testing/fixtures/command_list_fixtures.go index abf7edcf..e786344a 100644 --- a/testing/fixtures/command_list_fixtures.go +++ b/testing/fixtures/command_list_fixtures.go @@ -6,7 +6,7 @@ import ( "testing" ) -func FeatureListTestData() []Test { +func featureListTestData() []Test { var feature = "list" return []Test{ shouldShowListOfCommands(feature), diff --git a/testing/fixtures/command_root_fixtures.go b/testing/fixtures/command_root_fixtures.go index 92d9f389..bbfccfec 100644 --- a/testing/fixtures/command_root_fixtures.go +++ b/testing/fixtures/command_root_fixtures.go @@ -7,7 +7,7 @@ import ( "testing" ) -func FeatureRootTestData() []Test { +func featureRootTestData() []Test { feature := "root" return []Test{ diff --git a/testing/fixtures/command_set_fixtures.go b/testing/fixtures/command_set_fixtures.go index 27a45c01..8eee3a3a 100644 --- a/testing/fixtures/command_set_fixtures.go +++ b/testing/fixtures/command_set_fixtures.go @@ -8,7 +8,7 @@ import ( "testing" ) -func FeatureSetTestsData() []Test { +func featureSetTestsData() []Test { feature := "set" return []Test{ @@ -30,13 +30,13 @@ commands: expectedOutput := `project: Sample Project commands: - build: go build - - test: go test + - Test: go Test ` return Test{ Feature: feature, Name: "shouldSetNewCommand", - CmdArgs: []string{"set", "test", "go test"}, + CmdArgs: []string{"set", "Test", "go Test"}, Setup: func(dir string) error { return utils.CreateConfigFile(dir, defaultFileContent) }, diff --git a/testing/fixtures/command_unset_fixtures.go b/testing/fixtures/command_unset_fixtures.go index e012cabe..ba2df962 100644 --- a/testing/fixtures/command_unset_fixtures.go +++ b/testing/fixtures/command_unset_fixtures.go @@ -8,14 +8,14 @@ import ( "testing" ) -func FeatureUnsetTestsData() []Test { +func featureUnsetTestsData() []Test { feature := "unset" return []Test{ shouldUnsetTheExistingCommand(feature), - UnsetShouldFailWhenConfigurationFileIsNotFound(feature), - UnsetShouldFailWhenConfigurationFileIsInInvalidFormat(feature), - UnsetShouldFailWhenCommandIsNotFound(feature), + unsetShouldFailWhenConfigurationFileIsNotFound(feature), + unsetShouldFailWhenConfigurationFileIsInInvalidFormat(feature), + unsetShouldFailWhenCommandIsNotFound(feature), } } @@ -47,7 +47,7 @@ commands: [] } } -func UnsetShouldFailWhenCommandIsNotFound(feature string) Test { +func unsetShouldFailWhenCommandIsNotFound(feature string) Test { defaultFileContent := ` project: Sample Project @@ -57,21 +57,21 @@ commands: return Test{ Feature: feature, - Name: "UnsetShouldFailWhenCommandIsNotFound", - CmdArgs: []string{"unset", "test"}, + Name: "unsetShouldFailWhenCommandIsNotFound", + CmdArgs: []string{"unset", "Test"}, Setup: func(dir string) error { return utils.CreateConfigFile(dir, defaultFileContent) }, Assertion: func(dir string, actualOutput string, t *testing.T) bool { - return assert.Contains(t, actualOutput, "Command 'test' not found") + return assert.Contains(t, actualOutput, "Command 'Test' not found") }, } } -func UnsetShouldFailWhenConfigurationFileIsNotFound(feature string) Test { +func unsetShouldFailWhenConfigurationFileIsNotFound(feature string) Test { return Test{ Feature: feature, - Name: "UnsetShouldFailWhenConfigurationFileIsNotFound", + Name: "unsetShouldFailWhenConfigurationFileIsNotFound", CmdArgs: []string{"unset", "build"}, Assertion: func(dir string, actualOutput string, t *testing.T) bool { return assert.Contains(t, actualOutput, "no '"+def.ConfigFileName+"' file found in current directory") @@ -79,10 +79,10 @@ func UnsetShouldFailWhenConfigurationFileIsNotFound(feature string) Test { } } -func UnsetShouldFailWhenConfigurationFileIsInInvalidFormat(feature string) Test { +func unsetShouldFailWhenConfigurationFileIsInInvalidFormat(feature string) Test { return Test{ Feature: feature, - Name: "UnsetShouldFailWhenConfigurationFileIsInInvalidFormat", + Name: "unsetShouldFailWhenConfigurationFileIsInInvalidFormat", CmdArgs: []string{"unset", "build"}, Setup: func(dir string) error { return utils.CreateConfigFile(dir, "invalid config content") diff --git a/testing/fixtures/execute_cmd_fixtures.go b/testing/fixtures/execute_cmd_fixtures.go index 0c36d8f8..cab18d2f 100644 --- a/testing/fixtures/execute_cmd_fixtures.go +++ b/testing/fixtures/execute_cmd_fixtures.go @@ -6,9 +6,7 @@ import ( "testing" ) -var Execute = "execute" - -func FeatureExecuteCmdTestData() []Test { +func featureExecuteCmdTestData() []Test { feature := "exec" return []Test{ diff --git a/testing/fixtures/fixures.go b/testing/fixtures/fixures.go index c6fb92ba..47333778 100644 --- a/testing/fixtures/fixures.go +++ b/testing/fixtures/fixures.go @@ -2,31 +2,33 @@ package fixtures import "testing" -type Setup func(dir string) error -type Assertion func(dir string, actualOutput string, t *testing.T) bool -type Teardown func(dir string) error +type setup func(dir string) error +type assertion func(dir string, actualOutput string, t *testing.T) bool +type teardown func(dir string) error +//Test represents all the necessary information to run the test case type Test struct { Feature string Name string CmdArgs []string - Setup Setup - Assertion Assertion - Teardown Teardown + Setup setup + Assertion assertion + Teardown teardown } +// GetFixtures returns all the fixtures to be tested func GetFixtures() []Test { routes := [][]Test{ - FeatureRootTestData(), - FeatureExecuteCmdTestData(), + featureRootTestData(), + featureExecuteCmdTestData(), - FeatureInitTestsData(), - FeatureListTestData(), - FeatureSetTestsData(), - FeatureUnsetTestsData(), + featureInitTestsData(), + featureListTestData(), + featureSetTestsData(), + featureUnsetTestsData(), - FeatureFlagVersionTestData(), + featureFlagVersionTestData(), } var r1 []Test diff --git a/testing/fixtures/flag_version_fixtures.go b/testing/fixtures/flag_version_fixtures.go index 30430b8b..f990c8e6 100644 --- a/testing/fixtures/flag_version_fixtures.go +++ b/testing/fixtures/flag_version_fixtures.go @@ -5,7 +5,7 @@ import ( "testing" ) -func FeatureFlagVersionTestData() []Test { +func featureFlagVersionTestData() []Test { feature := "version" return []Test{ shouldPrintCurrentVersion(feature), diff --git a/testing/utils/test_utils.go b/testing/utils/test_utils.go index 3e5fdc3d..f0e92764 100644 --- a/testing/utils/test_utils.go +++ b/testing/utils/test_utils.go @@ -6,18 +6,22 @@ import ( "os" ) +// CreateConfigFile creates a config file func CreateConfigFile(dir string, content string) error { return ioutil.WriteFile(dir+"/"+def.ConfigFileName, []byte(content), 0777) } +// CreateTempDir created temporary directory func CreateTempDir() (string, error) { return ioutil.TempDir("", "onebuild_test") } +// RemoveAllFilesFromDir Cleans up the directory func RemoveAllFilesFromDir(dir string) { _ = os.RemoveAll(dir) } +// RecreateTestResourceDirectory cleans up test resources and recreates it func RecreateTestResourceDirectory(dir string) string { restResourceDirectory := dir + "/resources" RemoveAllFilesFromDir(restResourceDirectory)