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  }