github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/pkg/projectfile/project_internal_test.go (about) 1 package projectfile 2 3 import ( 4 "testing" 5 6 "github.com/ActiveState/cli/internal/testhelpers/suite" 7 ) 8 9 type ProjectInternalTestSuite struct { 10 suite.Suite 11 } 12 13 func (suite *ProjectInternalTestSuite) TestPassParseURL() { 14 // url pass without commitID 15 meta, err := parseURL("https://platform.activestate.com/Org/TestParseURL") 16 suite.NoError(err, "Should load project without issue.") 17 suite.Equal("Org", meta.Owner, "They should match") 18 suite.Equal("TestParseURL", meta.Name, "They should match") 19 suite.Equal("", meta.LegacyCommitID, "They should match") 20 } 21 22 func (suite *ProjectInternalTestSuite) TestPassParseLegacyURL() { 23 // url pass including commitID 24 meta, err := parseURL("https://platform.activestate.com/Org/TestParseURL?commitID=00010001-0001-0001-0001-000100010001") 25 suite.NoError(err, "Should load project without issue.") 26 suite.Equal("Org", meta.Owner, "They should match") 27 suite.Equal("TestParseURL", meta.Name, "They should match") 28 suite.Equal("00010001-0001-0001-0001-000100010001", meta.LegacyCommitID, "They should match") 29 } 30 31 func (suite *ProjectInternalTestSuite) TestPassParseURLWithDots() { 32 // url pass including commitID 33 meta, err := parseURL("https://platform.activestate.com/Org.Name/Project.Name") 34 suite.NoError(err, "Should load project without issue.") 35 suite.Equal("Org.Name", meta.Owner, "They should match") 36 suite.Equal("Project.Name", meta.Name, "They should match") 37 suite.Equal("", meta.LegacyCommitID, "They should match") 38 } 39 40 func (suite *ProjectInternalTestSuite) TestPassParseURLWithCommitPath() { 41 // url pass including commitID 42 meta, err := parseURL("https://platform.activestate.com/commit/00010001-0001-0001-0001-000100010001") 43 suite.NoError(err, "Should load project without issue.") 44 suite.Equal("", meta.Owner, "They should match") 45 suite.Equal("", meta.Name, "They should match") 46 suite.Equal("00010001-0001-0001-0001-000100010001", meta.LegacyCommitID, "They should match") 47 } 48 49 func (suite *ProjectInternalTestSuite) TestFailParseURL() { 50 // url fail 51 _, err := parseURL("Thisisnotavalidaprojecturl") 52 suite.Error(err, "This should fail.") 53 } 54 55 func Test_ProjectInternalTestSuite(t *testing.T) { 56 suite.Run(t, new(ProjectInternalTestSuite)) 57 }