veye 0.2.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +48 -41
- data/README.md +36 -17
- data/bin/veye +176 -47
- data/bundle +0 -0
- data/changelogs.md +19 -0
- data/lib/veye/api/package.rb +16 -2
- data/lib/veye/api/project.rb +41 -6
- data/lib/veye/base_executor.rb +81 -16
- data/lib/veye/github/delete.rb +2 -4
- data/lib/veye/github/import.rb +3 -4
- data/lib/veye/package/follow.rb +9 -9
- data/lib/veye/package/info.rb +4 -4
- data/lib/veye/package/references.rb +4 -6
- data/lib/veye/package/search.rb +2 -1
- data/lib/veye/package/versions.rb +37 -0
- data/lib/veye/package.rb +2 -0
- data/lib/veye/project/check.rb +19 -9
- data/lib/veye/project.rb +86 -2
- data/lib/veye/version.rb +1 -1
- data/lib/veye/views/base_csv.rb +1 -1
- data/lib/veye/views/github/info_csv.rb +1 -1
- data/lib/veye/views/github/info_pretty.rb +1 -1
- data/lib/veye/views/github/info_table.rb +2 -2
- data/lib/veye/views/package/info_csv.rb +4 -3
- data/lib/veye/views/package/info_pretty.rb +4 -2
- data/lib/veye/views/package/info_table.rb +4 -1
- data/lib/veye/views/package/versions_csv.rb +24 -0
- data/lib/veye/views/package/versions_json.rb +15 -0
- data/lib/veye/views/package/versions_pretty.rb +23 -0
- data/lib/veye/views/package/versions_table.rb +27 -0
- data/lib/veye/views/package.rb +4 -0
- data/lib/veye/views/project/dependency_csv.rb +18 -10
- data/lib/veye/views/project/dependency_pretty.rb +13 -2
- data/lib/veye/views/project/dependency_table.rb +8 -2
- data/lib/veye/views/project/info_csv.rb +9 -3
- data/lib/veye/views/project/info_markdown.rb +7 -2
- data/lib/veye/views/project/info_pretty.rb +6 -1
- data/lib/veye/views/project/info_table.rb +8 -3
- data/lib/veye.rb +26 -3
- data/test/api/package_test.rb +15 -0
- data/test/api/project_test.rb +83 -19
- data/test/base/base_executor_test.rb +87 -0
- data/test/fixtures/vcr_cassettes/github_delete.yml +7 -7
- data/test/fixtures/vcr_cassettes/github_import.yml +11 -13
- data/test/fixtures/vcr_cassettes/github_info.yml +10 -10
- data/test/fixtures/vcr_cassettes/github_list.yml +12 -12
- data/test/fixtures/vcr_cassettes/github_sync.yml +7 -7
- data/test/fixtures/vcr_cassettes/package_follow.yml +10 -10
- data/test/fixtures/vcr_cassettes/package_follow_status.yml +7 -7
- data/test/fixtures/vcr_cassettes/package_info.yml +17 -18
- data/test/fixtures/vcr_cassettes/package_info_default.yml +54 -0
- data/test/fixtures/vcr_cassettes/package_info_versioned.yml +54 -0
- data/test/fixtures/vcr_cassettes/package_reference.yml +8 -8
- data/test/fixtures/vcr_cassettes/package_search.yml +8 -8
- data/test/fixtures/vcr_cassettes/package_unfollow.yml +7 -7
- data/test/fixtures/vcr_cassettes/package_versions.yml +44 -0
- data/test/fixtures/vcr_cassettes/project_check_new.yml +33 -30
- data/test/fixtures/vcr_cassettes/project_check_update.yml +29 -30
- data/test/fixtures/vcr_cassettes/project_delete.yml +8 -8
- data/test/fixtures/vcr_cassettes/project_delete_for_licenses.yml +48 -0
- data/test/fixtures/vcr_cassettes/project_delete_for_update.yml +46 -0
- data/test/fixtures/vcr_cassettes/project_delete_merge_child.yml +46 -0
- data/test/fixtures/vcr_cassettes/project_delete_merge_parent.yml +46 -0
- data/test/fixtures/vcr_cassettes/project_get.yml +11 -12
- data/test/fixtures/vcr_cassettes/project_license.yml +11 -12
- data/test/fixtures/vcr_cassettes/project_license_command.yml +49 -0
- data/test/fixtures/vcr_cassettes/project_list.yml +14 -14
- data/test/fixtures/vcr_cassettes/project_merge.yml +46 -0
- data/test/fixtures/vcr_cassettes/project_unmerge.yml +46 -0
- data/test/fixtures/vcr_cassettes/project_update.yml +15 -16
- data/test/fixtures/vcr_cassettes/project_upload.yml +17 -16
- data/test/fixtures/vcr_cassettes/project_upload_for_licenses.yml +107 -0
- data/test/fixtures/vcr_cassettes/project_upload_for_update.yml +105 -0
- data/test/fixtures/vcr_cassettes/project_upload_merge_child.yml +65 -0
- data/test/fixtures/vcr_cassettes/project_upload_merge_parent.yml +104 -0
- data/test/fixtures/vcr_cassettes/project_upload_with_args.yml +106 -0
- data/test/fixtures/vcr_cassettes/services_ping.yml +6 -8
- data/test/fixtures/vcr_cassettes/user_get_favorites.yml +10 -10
- data/test/fixtures/vcr_cassettes/user_get_profile.yml +10 -10
- data/test/github_delete_test.rb +5 -3
- data/test/github_import_test.rb +8 -15
- data/test/github_info_test.rb +2 -2
- data/test/package_follow_test.rb +3 -3
- data/test/package_info_test.rb +16 -15
- data/test/package_reference_test.rb +4 -4
- data/test/package_search_test.rb +4 -4
- data/test/package_versions_test.rb +73 -0
- data/test/project_check_test.rb +107 -79
- data/test/project_license_test.rb +29 -11
- data/test/project_test.rb +59 -0
- data/test/user_me_test.rb +4 -4
- data/veye.gemspec +10 -8
- data/veye.log +11 -0
- metadata +73 -20
data/test/github_delete_test.rb
CHANGED
|
@@ -6,7 +6,7 @@ class GithubDeleteTest < Minitest::Test
|
|
|
6
6
|
@api_key = ENV['VEYE_API_KEY']
|
|
7
7
|
@repo_name = 'versioneye/veye'
|
|
8
8
|
@branch = "master"
|
|
9
|
-
@
|
|
9
|
+
@filename = 'Gemfile.lock'
|
|
10
10
|
|
|
11
11
|
import_project
|
|
12
12
|
end
|
|
@@ -14,14 +14,16 @@ class GithubDeleteTest < Minitest::Test
|
|
|
14
14
|
def import_project
|
|
15
15
|
#import project before testing
|
|
16
16
|
VCR.use_cassette('github_import') do
|
|
17
|
-
Veye::API::Github.import_repo(@api_key, @repo_name, @branch,
|
|
17
|
+
res = Veye::API::Github.import_repo(@api_key, @repo_name, @branch, @filename)
|
|
18
|
+
|
|
19
|
+
refute_nil res, "Import failed"
|
|
18
20
|
end
|
|
19
21
|
end
|
|
20
22
|
|
|
21
23
|
def test_delete_default
|
|
22
24
|
VCR.use_cassette('github_delete') do
|
|
23
25
|
res = capture_stdout do
|
|
24
|
-
Veye::Github::Delete.delete_repo(@api_key, @repo_name, @
|
|
26
|
+
Veye::Github::Delete.delete_repo(@api_key, @repo_name, @branch, {})
|
|
25
27
|
end
|
|
26
28
|
|
|
27
29
|
refute_nil res, "No command output"
|
data/test/github_import_test.rb
CHANGED
|
@@ -7,51 +7,46 @@ class GithubImportTest < Minitest::Test
|
|
|
7
7
|
@api_key = ENV['VEYE_API_KEY']
|
|
8
8
|
@repo_name = 'versioneye/veye'
|
|
9
9
|
@branch = "master"
|
|
10
|
-
@
|
|
11
|
-
|
|
12
|
-
@opts = {
|
|
13
|
-
file: @file,
|
|
14
|
-
branch: @branch
|
|
15
|
-
}
|
|
10
|
+
@filename = "Gemfile.lock"
|
|
16
11
|
end
|
|
17
12
|
|
|
18
13
|
def test_import_default
|
|
19
14
|
VCR.use_cassette('github_import') do
|
|
20
15
|
res = capture_stdout do
|
|
21
|
-
Veye::Github::Import.import_repo(@api_key, @repo_name, @
|
|
16
|
+
Veye::Github::Import.import_repo(@api_key, @repo_name, @branch, @filename)
|
|
22
17
|
end
|
|
23
18
|
|
|
24
19
|
refute_nil res, "Command output was nil"
|
|
25
20
|
rows = res.split(/\n/)
|
|
26
21
|
assert_equal "\t\e[32mversioneye/veye\e[0m - \e[1mruby\e[0m", rows[0]
|
|
27
|
-
assert_equal "\tDescription : VersionEye command line tool ", rows[1]
|
|
22
|
+
assert_equal "\tDescription : VersionEye command line tool implemented in Ruby", rows[1]
|
|
28
23
|
assert_equal "\tOwner login : versioneye", rows[2]
|
|
29
24
|
assert_equal "\tOwner type : organization", rows[3]
|
|
30
25
|
assert_equal "\tPrivate : false", rows[4]
|
|
31
26
|
assert_equal "\tFork : false", rows[5]
|
|
32
27
|
assert_equal "\tBranches : ", rows[6]
|
|
33
|
-
assert_equal "\tImported : rubygem_versioneye_veye_1", rows[7]
|
|
34
28
|
end
|
|
35
29
|
end
|
|
36
30
|
|
|
37
31
|
def test_import_csv
|
|
38
32
|
VCR.use_cassette('github_import') do
|
|
39
33
|
res = capture_stdout do
|
|
40
|
-
Veye::Github::Import.import_repo(@api_key, @repo_name, @
|
|
34
|
+
Veye::Github::Import.import_repo(@api_key, @repo_name, @branch, @filename, {format: 'csv'})
|
|
41
35
|
end
|
|
42
36
|
|
|
43
37
|
refute_nil res, "Command output was nil"
|
|
44
38
|
dt = CSV.parse(res)
|
|
45
39
|
assert_equal ["name", "language", "owner_login", "owner_type", "private", "fork", "branches", "imported_projects", "description"], dt[0]
|
|
46
40
|
assert_equal ["versioneye/veye", "ruby", "versioneye", "organization", "false"], dt[1].take(5)
|
|
47
|
-
assert_equal ["false", nil,
|
|
41
|
+
assert_equal ["false", nil, '57c3f017864739000eca5357|57c3f39712b5260016707bea',
|
|
42
|
+
"VersionEye command line tool implemented in Ruby"], dt[1].drop(5)
|
|
48
43
|
end
|
|
49
44
|
end
|
|
50
45
|
|
|
51
46
|
def test_import_json
|
|
52
47
|
VCR.use_cassette('github_import') do
|
|
53
48
|
res = capture_stdout do
|
|
54
|
-
Veye::Github::Import.import_repo(@api_key, @repo_name, @
|
|
49
|
+
Veye::Github::Import.import_repo(@api_key, @repo_name, @branch, @filename, {format: 'json'})
|
|
55
50
|
end
|
|
56
51
|
|
|
57
52
|
refute_nil res, "No command output"
|
|
@@ -68,7 +63,6 @@ class GithubImportTest < Minitest::Test
|
|
|
68
63
|
|
|
69
64
|
refute_nil dt["projects"]
|
|
70
65
|
project = dt["projects"].first
|
|
71
|
-
assert_equal "rubygem_versioneye_veye_1", project["project_key"]
|
|
72
66
|
assert_equal "versioneye/veye", project["name"]
|
|
73
67
|
assert_equal "RubyGem", project["project_type"]
|
|
74
68
|
assert_equal true, project["public"]
|
|
@@ -79,7 +73,7 @@ class GithubImportTest < Minitest::Test
|
|
|
79
73
|
def test_import_table
|
|
80
74
|
VCR.use_cassette('github_import') do
|
|
81
75
|
res = capture_stdout do
|
|
82
|
-
Veye::Github::Import.import_repo(@api_key, @repo_name, @
|
|
76
|
+
Veye::Github::Import.import_repo(@api_key, @repo_name, @branch, @filename, {format: 'table'})
|
|
83
77
|
end
|
|
84
78
|
|
|
85
79
|
refute_nil res, "No command output"
|
|
@@ -88,7 +82,6 @@ class GithubImportTest < Minitest::Test
|
|
|
88
82
|
assert_match(/\| name\s+\| language \| owner_login \| owner_type\s+\| private \| fork\s+\|/ , rows[3])
|
|
89
83
|
assert_match(/branches \| imported_projects\s+\| description\s+\|/, rows[3])
|
|
90
84
|
assert_match(/\| versioneye \| veye | ruby\s+\| versioneye \| organization \| false/, rows[5])
|
|
91
|
-
assert_match(/\| false \|\s+\| rubygem_versioneye_veye_1 \| VersionEye command line tool\s+\|/, rows[5])
|
|
92
85
|
end
|
|
93
86
|
end
|
|
94
87
|
end
|
data/test/github_info_test.rb
CHANGED
|
@@ -17,7 +17,7 @@ class GithubInfoTest < Minitest::Test
|
|
|
17
17
|
refute_nil output
|
|
18
18
|
rows = output.split(/\n/)
|
|
19
19
|
assert_equal "\t\e[32mversioneye/veye\e[0m - \e[1mruby\e[0m", rows[0]
|
|
20
|
-
assert_equal "\tDescription : VersionEye command line tool ", rows[1]
|
|
20
|
+
assert_equal "\tDescription : VersionEye command line tool implemented in Ruby" , rows[1]
|
|
21
21
|
assert_equal "\tOwner login : versioneye", rows[2]
|
|
22
22
|
assert_equal "\tOwner type : organization", rows[3]
|
|
23
23
|
assert_equal "\tPrivate : false", rows[4]
|
|
@@ -37,7 +37,7 @@ class GithubInfoTest < Minitest::Test
|
|
|
37
37
|
assert_equal ["name", "language", "owner_login", "owner_type", "private", "fork", "branches", "imported_projects", "description"], rows[0]
|
|
38
38
|
assert_equal(
|
|
39
39
|
["versioneye/veye", "ruby", "versioneye", "organization", "false", "false",
|
|
40
|
-
nil, nil, "VersionEye command line tool "],
|
|
40
|
+
nil, nil, "VersionEye command line tool implemented in Ruby"],
|
|
41
41
|
rows[1]
|
|
42
42
|
)
|
|
43
43
|
end
|
data/test/package_follow_test.rb
CHANGED
|
@@ -9,7 +9,7 @@ class PackageFollowTest < MiniTest::Test
|
|
|
9
9
|
def test_get_follow_status
|
|
10
10
|
VCR.use_cassette('package_follow_status') do
|
|
11
11
|
out = capture_stdout do
|
|
12
|
-
Veye::Package::Follow.get_follow_status(@api_key, 'ruby
|
|
12
|
+
Veye::Package::Follow.get_follow_status(@api_key, 'ruby', 'ruby')
|
|
13
13
|
end
|
|
14
14
|
expected = "Following `ruby`: \e[32mfalse\e[0m\n"
|
|
15
15
|
assert_equal expected, out
|
|
@@ -19,7 +19,7 @@ class PackageFollowTest < MiniTest::Test
|
|
|
19
19
|
def test_follow
|
|
20
20
|
VCR.use_cassette('package_follow') do
|
|
21
21
|
out = capture_stdout do
|
|
22
|
-
Veye::Package::Follow.follow(@api_key, 'ruby
|
|
22
|
+
Veye::Package::Follow.follow(@api_key, 'ruby', 'ruby')
|
|
23
23
|
end
|
|
24
24
|
expected = "Following `ruby`: \e[32mtrue\e[0m\n"
|
|
25
25
|
assert_equal expected, out
|
|
@@ -29,7 +29,7 @@ class PackageFollowTest < MiniTest::Test
|
|
|
29
29
|
def test_unfollow
|
|
30
30
|
VCR.use_cassette('package_unfollow') do
|
|
31
31
|
out = capture_stdout do
|
|
32
|
-
Veye::Package::Follow.unfollow(@api_key, 'ruby
|
|
32
|
+
Veye::Package::Follow.unfollow(@api_key, 'ruby', 'ruby')
|
|
33
33
|
end
|
|
34
34
|
expected = "Following `ruby`: \e[32mfalse\e[0m\n"
|
|
35
35
|
assert_equal expected, out
|
data/test/package_info_test.rb
CHANGED
|
@@ -8,14 +8,14 @@ class PackageInfoTest < Minitest::Test
|
|
|
8
8
|
end
|
|
9
9
|
|
|
10
10
|
def test_info_default
|
|
11
|
-
VCR.use_cassette('
|
|
11
|
+
VCR.use_cassette('package_info_default') do
|
|
12
12
|
output = capture_stdout do
|
|
13
|
-
Veye::Package::Info.get_package(@api_key, '
|
|
13
|
+
Veye::Package::Info.get_package(@api_key, 'veye', 'ruby')
|
|
14
14
|
end
|
|
15
15
|
refute_nil output, "No command output"
|
|
16
16
|
|
|
17
17
|
rows = output.split(/\n/)
|
|
18
|
-
|
|
18
|
+
assert_match(/\t\e\[32m\e\[1mveye\e\[0m/ , rows[0])
|
|
19
19
|
assert_equal "\tLanguage : ruby", rows[1]
|
|
20
20
|
assert_equal "\tLicense : MIT", rows[2]
|
|
21
21
|
assert_equal "\tProduct type : RubyGem", rows[3]
|
|
@@ -24,36 +24,37 @@ class PackageInfoTest < Minitest::Test
|
|
|
24
24
|
end
|
|
25
25
|
|
|
26
26
|
def test_info_csv_format
|
|
27
|
-
VCR.use_cassette('
|
|
27
|
+
VCR.use_cassette('package_info_versioned') do
|
|
28
28
|
output = capture_stdout do
|
|
29
|
-
Veye::Package::Info.get_package(@api_key, '
|
|
29
|
+
Veye::Package::Info.get_package(@api_key, 'veye', 'ruby', '0.2.1', {format: 'csv'})
|
|
30
30
|
end
|
|
31
|
-
|
|
32
31
|
refute_nil output, "No command output"
|
|
32
|
+
|
|
33
33
|
rows = CSV.parse(output)
|
|
34
|
-
assert_equal ["name", "version", "language", "prod_key", "licence", "prod_type", "description", "link"], rows[0]
|
|
35
|
-
assert_equal ["veye", "0.
|
|
34
|
+
assert_equal ["name", "version", "language", "prod_key", "licence", "prod_type", "description", "link", 'cves'], rows[0]
|
|
35
|
+
assert_equal ["veye", "0.2.1", "ruby", "veye", nil, "RubyGem"], rows[1].take(6)
|
|
36
36
|
end
|
|
37
37
|
end
|
|
38
38
|
|
|
39
39
|
def test_info_json_format
|
|
40
|
-
VCR.use_cassette('
|
|
40
|
+
VCR.use_cassette('package_info_versioned') do
|
|
41
41
|
output = capture_stdout do
|
|
42
|
-
Veye::Package::Info.get_package(@api_key, '
|
|
42
|
+
Veye::Package::Info.get_package(@api_key, 'veye', 'ruby', '0.2.1', {format: 'json'})
|
|
43
43
|
end
|
|
44
|
+
|
|
44
45
|
refute_nil output
|
|
45
46
|
dt = JSON.parse(output)
|
|
46
47
|
package = dt["package"]
|
|
47
48
|
assert_equal "veye", package["name"]
|
|
48
49
|
assert_equal "ruby", package["language"]
|
|
49
50
|
assert_equal "veye", package["prod_key"]
|
|
50
|
-
|
|
51
|
+
assert_match(/\d+\.\d+\.\d+/, package["version"])
|
|
51
52
|
assert_equal "RubyGem", package["prod_type"]
|
|
52
53
|
assert_equal "MIT", package["license_info"]
|
|
53
54
|
|
|
54
55
|
dep = package["dependencies"].first
|
|
55
56
|
assert_equal "awesome_print", dep["name"]
|
|
56
|
-
assert_equal "
|
|
57
|
+
assert_equal "~> 1.6", dep["version"]
|
|
57
58
|
|
|
58
59
|
license = package["licenses"].first
|
|
59
60
|
assert_equal "MIT", license["name"]
|
|
@@ -62,15 +63,15 @@ class PackageInfoTest < Minitest::Test
|
|
|
62
63
|
end
|
|
63
64
|
|
|
64
65
|
def test_info_table_format
|
|
65
|
-
VCR.use_cassette('
|
|
66
|
+
VCR.use_cassette('package_info_versioned') do
|
|
66
67
|
output = capture_stdout do
|
|
67
|
-
Veye::Package::Info.get_package(@api_key, '
|
|
68
|
+
Veye::Package::Info.get_package(@api_key, 'veye', 'ruby', '0.2.1', {format: 'table'})
|
|
68
69
|
end
|
|
69
70
|
refute_nil output, "No command output"
|
|
70
71
|
rows = output.split(/\n/)
|
|
71
72
|
assert_match(/\|\s+Package information\s+\|/, rows[1])
|
|
72
73
|
assert_match(/\| name \| version \| product_key \| language \| license \| description/, rows[3])
|
|
73
|
-
assert_match(/\| veye \| 0.
|
|
74
|
+
assert_match(/\| veye \| 0.2.1 \| veye\s+\| ruby\s+| MIT\s+\|/, rows[5])
|
|
74
75
|
end
|
|
75
76
|
end
|
|
76
77
|
end
|
|
@@ -10,7 +10,7 @@ class PackageReferenceTest < MiniTest::Test
|
|
|
10
10
|
def test_reference_with_results
|
|
11
11
|
VCR.use_cassette('package_reference') do
|
|
12
12
|
output = capture_stdout do
|
|
13
|
-
Veye::Package::References.get_references(@api_key, 'ruby
|
|
13
|
+
Veye::Package::References.get_references(@api_key, 'ruby', 'ruby', {})
|
|
14
14
|
end
|
|
15
15
|
refute_nil output, "Command output was nil"
|
|
16
16
|
rows = output.split(/\n/)
|
|
@@ -25,7 +25,7 @@ class PackageReferenceTest < MiniTest::Test
|
|
|
25
25
|
def test_reference_csv_format
|
|
26
26
|
VCR.use_cassette('package_reference') do
|
|
27
27
|
output = capture_stdout do
|
|
28
|
-
Veye::Package::References.get_references(@api_key, 'ruby
|
|
28
|
+
Veye::Package::References.get_references(@api_key, 'ruby', 'ruby', {format: 'csv'})
|
|
29
29
|
end
|
|
30
30
|
refute_nil output, "Command output was nil"
|
|
31
31
|
rows = CSV.parse(output)
|
|
@@ -37,7 +37,7 @@ class PackageReferenceTest < MiniTest::Test
|
|
|
37
37
|
def test_reference_json_format
|
|
38
38
|
VCR.use_cassette('package_reference') do
|
|
39
39
|
output = capture_stdout do
|
|
40
|
-
Veye::Package::References.get_references(@api_key, 'ruby
|
|
40
|
+
Veye::Package::References.get_references(@api_key, 'ruby', 'ruby', {format: 'json'})
|
|
41
41
|
end
|
|
42
42
|
refute_nil output, "Command output was nil"
|
|
43
43
|
dt = JSON.parse(output)
|
|
@@ -53,7 +53,7 @@ class PackageReferenceTest < MiniTest::Test
|
|
|
53
53
|
def test_reference_table_format
|
|
54
54
|
VCR.use_cassette('package_reference') do
|
|
55
55
|
output = capture_stdout do
|
|
56
|
-
Veye::Package::References.get_references(@api_key, 'ruby
|
|
56
|
+
Veye::Package::References.get_references(@api_key, 'ruby', 'ruby', {format: 'table'})
|
|
57
57
|
end
|
|
58
58
|
refute_nil output, "Command output was nil"
|
|
59
59
|
rows = output.split(/\n/)
|
data/test/package_search_test.rb
CHANGED
|
@@ -16,7 +16,7 @@ class PackageSearchTest < MiniTest::Test
|
|
|
16
16
|
rows = output.split(/\n/)
|
|
17
17
|
assert_equal " 1 - \e[32m\e[1mveye\e[0m", rows[0]
|
|
18
18
|
assert_equal "\tProduct key : veye", rows[1]
|
|
19
|
-
assert_equal "\tLatest version : \e[32m\e[1m0.
|
|
19
|
+
assert_equal "\tLatest version : \e[32m\e[1m0.2.1\e[0m", rows[2]
|
|
20
20
|
assert_equal "\tLanguage : ruby", rows[3]
|
|
21
21
|
end
|
|
22
22
|
end
|
|
@@ -30,7 +30,7 @@ class PackageSearchTest < MiniTest::Test
|
|
|
30
30
|
|
|
31
31
|
rows = CSV.parse(output)
|
|
32
32
|
assert_equal ["nr", "name", "version", "prod_key", "language", "group_id"], rows[0]
|
|
33
|
-
assert_equal ["1", "veye", "0.
|
|
33
|
+
assert_equal ["1", "veye", "0.2.1", "veye", "ruby", nil], rows[1]
|
|
34
34
|
end
|
|
35
35
|
end
|
|
36
36
|
|
|
@@ -46,7 +46,7 @@ class PackageSearchTest < MiniTest::Test
|
|
|
46
46
|
assert_equal "veye", res["name"]
|
|
47
47
|
assert_equal "ruby", res["language"]
|
|
48
48
|
assert_equal "veye", res["prod_key"]
|
|
49
|
-
assert_equal "0.
|
|
49
|
+
assert_equal "0.2.1", res["version"]
|
|
50
50
|
assert_equal "RubyGem", res["prod_type"]
|
|
51
51
|
end
|
|
52
52
|
end
|
|
@@ -61,7 +61,7 @@ class PackageSearchTest < MiniTest::Test
|
|
|
61
61
|
rows = output.split(/\n/)
|
|
62
62
|
assert_match(/\|\s+Package search\s+\|/, rows[1])
|
|
63
63
|
assert_match(/\| index \| name \| version \| product_key \| language \|/, rows[3])
|
|
64
|
-
assert_match(/\| 1\s+\| veye \| 0.
|
|
64
|
+
assert_match(/\| 1\s+\| veye \| 0.2.1\s+\| veye\s+\| ruby\s+\|/, rows[5])
|
|
65
65
|
end
|
|
66
66
|
end
|
|
67
67
|
end
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
require 'csv'
|
|
3
|
+
require 'json'
|
|
4
|
+
|
|
5
|
+
class PackageVersionsTest < Minitest::Test
|
|
6
|
+
def setup
|
|
7
|
+
init_environment
|
|
8
|
+
@api_key = ENV['VEYE_API_KEY']
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def test_versions_default
|
|
12
|
+
VCR.use_cassette('package_versions') do
|
|
13
|
+
output = capture_stdout do
|
|
14
|
+
Veye::Package::Versions.get_list(@api_key, 'ruby', 'ruby', 10, 0, {})
|
|
15
|
+
end
|
|
16
|
+
refute_nil output, 'No response from the API'
|
|
17
|
+
|
|
18
|
+
rows = output.split(/\n/)
|
|
19
|
+
assert_equal "\t\e[32m\e[1mruby\e[0m - \e[1m0.1.0\e[0m", rows[0]
|
|
20
|
+
assert_equal "\tLanguage : ruby", rows[1]
|
|
21
|
+
assert_equal "\tProduct type : RubyGem", rows[2]
|
|
22
|
+
assert_equal "\tProduct key : ruby", rows[3]
|
|
23
|
+
assert_equal "\tShowing items : 10 after skipping 0 items", rows[4]
|
|
24
|
+
assert_equal "\t0.1.0 : 1\t2011-02-28T10:00:00.000+00:00", rows[5]
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def test_versions_csv_format
|
|
29
|
+
VCR.use_cassette('package_versions') do
|
|
30
|
+
output = capture_stdout do
|
|
31
|
+
Veye::Package::Versions.get_list(@api_key, 'ruby', 'ruby', 10, 0, {format: 'csv'})
|
|
32
|
+
end
|
|
33
|
+
refute_nil output, "No API response"
|
|
34
|
+
|
|
35
|
+
rows = CSV.parse(output)
|
|
36
|
+
assert_equal ['nr', 'version', 'language', 'prod_key', 'prod_type', 'released_at'], rows[0]
|
|
37
|
+
assert_equal ['1', '0.1.0', 'ruby', 'ruby', 'RubyGem', '2011-02-28T10:00:00.000+00:00'], rows[1]
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def test_versions_json_format
|
|
42
|
+
VCR.use_cassette('package_versions') do
|
|
43
|
+
output = capture_stdout do
|
|
44
|
+
Veye::Package::Versions.get_list(@api_key, 'ruby', 'ruby', 10, 0, {format: 'json'})
|
|
45
|
+
end
|
|
46
|
+
refute_nil output, 'No API response'
|
|
47
|
+
|
|
48
|
+
dt = JSON.parse output
|
|
49
|
+
assert_equal 'ruby', dt['results']['prod_key']
|
|
50
|
+
assert_equal 'ruby', dt['results']['language']
|
|
51
|
+
assert_equal '0.1.0', dt['results']['versions'].first['version']
|
|
52
|
+
assert_equal 10, dt['pagination']['n']
|
|
53
|
+
assert_equal 0, dt['pagination']['from']
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def test_version_table_format
|
|
59
|
+
VCR.use_cassette('package_versions') do
|
|
60
|
+
output = capture_stdout do
|
|
61
|
+
Veye::Package::Versions.get_list(@api_key, 'ruby', 'ruby', 10, 0, {format: 'table'})
|
|
62
|
+
end
|
|
63
|
+
refute_nil output, 'No API response'
|
|
64
|
+
|
|
65
|
+
rows = output.split(/\n/)
|
|
66
|
+
|
|
67
|
+
assert_match(/package versions/i, rows[1])
|
|
68
|
+
assert_match(/| nr | name | version | released_at\s+|\s+product_key/i, rows[3])
|
|
69
|
+
assert_match(/| 1 | ruby | 0.1.0 | 2011-02-28T10:00:00.000+00:00 | ruby/i, rows[5])
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
end
|