github.com/jfrog/jfrog-cli-go@v1.22.1-0.20200318093948-4826ef344ffd/artifactory/utils/pip/setuppy_test.go (about) 1 package pip 2 3 import ( 4 "testing" 5 ) 6 7 func TestGetProjectNameFromFileContent(t *testing.T) { 8 tests := []struct { 9 fileContent string 10 expectedProjectName string 11 }{ 12 {"Metadata-Version: 1.0\nName: jfrog-python-example-1\nVersion: 1.0\nSummary: Project example for building Python project with JFrog products\nHome-page: https://github.com/jfrog/project-examples\nAuthor: JFrog\nAuthor-email: jfrog@jfrog.com\nLicense: UNKNOWN\nDescription: UNKNOWN\nPlatform: UNKNOWN", "jfrog-python-example-1"}, 13 {"Metadata-Version: Name: jfrog-python-example-2\nLicense: UNKNOWN\nDescription: UNKNOWN\nPlatform: UNKNOWN\nName: jfrog-python-example-2\nVersion: 1.0\nSummary: Project example for building Python project with JFrog products\nHome-page: https://github.com/jfrog/project-examples\nAuthor: JFrog\nAuthor-email: jfrog@jfrog.com", "jfrog-python-example-2"}, 14 {"Name:Metadata-Version: 3.0\nName: jfrog-python-example-3\nVersion: 1.0\nSummary: Project example for building Python project with JFrog products\nHome-page: https://github.com/jfrog/project-examples\nAuthor: JFrog\nAuthor-email: jfrog@jfrog.com\nName: jfrog-python-example-4", "jfrog-python-example-3"}, 15 } 16 17 for _, test := range tests { 18 actualValue, err := getProjectNameFromFileContent([]byte(test.fileContent)) 19 if err != nil { 20 t.Error(err) 21 } 22 if actualValue != test.expectedProjectName { 23 t.Errorf("Expected value: %s, got: %s.", test.expectedProjectName, actualValue) 24 } 25 } 26 } 27 28 func TestExtractPkginfoPathFromCommandOutput(t *testing.T) { 29 tests := []struct { 30 commandOutput string 31 expectedPkginfoPath string 32 shouldFail bool 33 }{ 34 {"running egg_info\nwriting jfrog_python_example_unix.egg-info/PKG-INFO\nwriting dependency_links to jfrog_python_example.egg-info/dependency_links.txt\nwriting requirements to jfrog_python_example.egg-info/requires.txt\nwriting top-level names to jfrog_python_example.egg-info/top_level.txt\nreading manifest file 'jfrog_python_example.egg-info/SOURCES.txt'\nwriting manifest file 'jfrog_python_example.egg-info/SOURCES.txt'", "jfrog_python_example_unix.egg-info/PKG-INFO", false}, 35 {"running egg_info\nwriting jfrog_python_example_windows.egg-info\\PKG-INFO\nwriting dependency_links to jfrog_python_example.egg-info\\dependency_links.txt\nwriting requirements to jfrog_python_example.egg-info\\requires.txt\nwriting top-level names to jfrog_python_example.egg-info\\top_level.txt\nreading manifest file 'jfrog_python_example.egg-info\\SOURCES.txt'\nwriting manifest file 'jfrog_python_example.egg-info\\SOURCES.txt'", "jfrog_python_example_windows.egg-info\\PKG-INFO", false}, 36 {"running egg_info\nwriting dependency_links to jfrog_python_example.egg-info/dependency_links.txt\nwriting requirements to jfrog_python_example.egg-info/requires.txt\nwriting top-level names to jfrog_python_example.egg-info/top_level.txt\nreading manifest file 'jfrog_python_example.egg-info/SOURCES.txt'\nwriting manifest file 'jfrog_python_example.egg-info/SOURCES.txt'", "jfrog_python_example_unix.egg-info/PKG-INFO", true}, 37 } 38 39 for i, test := range tests { 40 actualValue, err := extractPkginfoPathFromCommandOutput(test.commandOutput) 41 if err != nil { 42 if !test.shouldFail { 43 t.Errorf("Test case %d - %s", i, err) 44 } 45 continue 46 } 47 if actualValue != test.expectedPkginfoPath { 48 t.Errorf("Test case %d - Expected value: %s, got: %s.", i, test.expectedPkginfoPath, actualValue) 49 } 50 } 51 }