84 lines
2.6 KiB
Go
84 lines
2.6 KiB
Go
package lib
|
|
|
|
import (
|
|
"reflect"
|
|
"testing"
|
|
)
|
|
|
|
func TestGetPackageInfo(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
inputName string
|
|
VersionCountExpected int
|
|
want PackageResponse
|
|
wantVersion string
|
|
wantErr bool
|
|
}{
|
|
{
|
|
name: "testcafe-browser-provider-puppeteer",
|
|
inputName: "testcafe-browser-provider-puppeteer",
|
|
VersionCountExpected: 8,
|
|
wantVersion: "1.0.1",
|
|
want: PackageResponse{
|
|
Name: "testcafe-browser-provider-puppeteer",
|
|
Versions: map[string]PackageRelease{
|
|
"1.0.1": PackageRelease{
|
|
Name: "testcafe-browser-provider-puppeteer",
|
|
VersionNumber: "1.0.1",
|
|
ID: "testcafe-browser-provider-puppeteer@1.0.1",
|
|
Dependencies: map[string]string{
|
|
"babel-runtime": "^6.11.6",
|
|
"puppeteer": "^0.10.2",
|
|
},
|
|
DevDependencies: map[string]string{
|
|
"babel-eslint": "^6.1.2",
|
|
"babel-plugin-add-module-exports": "^0.2.1",
|
|
"babel-plugin-transform-runtime": "^6.12.0",
|
|
"babel-preset-es2015": "^6.13.2",
|
|
"babel-preset-es2015-loose": "^7.0.0",
|
|
"babel-preset-stage-3": "^6.11.0",
|
|
"del": "^2.0.0",
|
|
"gulp": "^3.9.0",
|
|
"gulp-babel": "^6.1.2",
|
|
"gulp-eslint": "^3.0.1",
|
|
"gulp-mocha": "^3.0.1",
|
|
"node-version": "^1.0.0",
|
|
"publish-please": "^2.1.4",
|
|
},
|
|
Dist: Distribution{
|
|
Sum: "5bd7be2a401aec28fe9bef0b9aa9886bd56fd811",
|
|
Tarball: "https://registry.npmjs.org/testcafe-browser-provider-puppeteer/-/testcafe-browser-provider-puppeteer-1.0.1.tgz",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
wantErr: false,
|
|
},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
got, err := GetPackageInfo(tt.inputName)
|
|
if (err != nil) != tt.wantErr {
|
|
t.Errorf("GetPackageInfo() error = %v, wantErr %v", err, tt.wantErr)
|
|
return
|
|
}
|
|
|
|
if len(got.Versions) != tt.VersionCountExpected {
|
|
t.Errorf("got %d, expected %d", len(got.Versions), tt.VersionCountExpected)
|
|
}
|
|
|
|
wantVersion := tt.want.Versions[tt.wantVersion]
|
|
gotVersion, gotOk := got.Versions[tt.wantVersion]
|
|
|
|
if !gotOk {
|
|
t.Errorf("could not find version in response: %s", tt.wantVersion)
|
|
}
|
|
|
|
if !reflect.DeepEqual(gotVersion, wantVersion) {
|
|
t.Errorf("-----\ngot: \t%+v\nwant:\t%+v", gotVersion, wantVersion)
|
|
}
|
|
})
|
|
}
|
|
}
|