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/project_check_test.rb
CHANGED
|
@@ -6,67 +6,78 @@ class ProjectCheckTest < Minitest::Test
|
|
|
6
6
|
init_environment
|
|
7
7
|
@api_key = ENV['VEYE_API_KEY']
|
|
8
8
|
@test_file = "test/files/maven-1.0.1.pom.xml"
|
|
9
|
-
|
|
9
|
+
@org_name = 'veye_test'
|
|
10
|
+
@team_name = 'veye_cli_tool'
|
|
11
|
+
|
|
12
|
+
@project_key = upload_project["id"]
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def upload_project
|
|
16
|
+
VCR.use_cassette('project_upload') do
|
|
17
|
+
res = Veye::API::Project.upload(@api_key, @test_file, @org_name, nil, true)
|
|
18
|
+
res.data
|
|
19
|
+
end
|
|
10
20
|
end
|
|
11
21
|
|
|
22
|
+
|
|
12
23
|
def test_get_list_default
|
|
13
24
|
VCR.use_cassette('project_list') do
|
|
14
25
|
output = capture_stdout do
|
|
15
|
-
Veye::Project::Check.get_list(@api_key, {})
|
|
26
|
+
Veye::Project::Check.get_list(@api_key, @org_name, nil, {})
|
|
16
27
|
end
|
|
17
28
|
|
|
18
29
|
rows = output.split(/\n/)
|
|
19
|
-
assert_equal " 1 - \e[32m\e[
|
|
20
|
-
assert_equal "\tProject key : \e[
|
|
21
|
-
assert_equal "\tProject type :
|
|
30
|
+
assert_equal " 1 - \e[32m\e[1mOpenEJB :: Maven Plugins\e[0m", rows[0]
|
|
31
|
+
#assert_equal "\tProject key : \e[1m#{@project_key}\e[0m", rows[1]
|
|
32
|
+
assert_equal "\tProject type : Maven2", rows[2]
|
|
22
33
|
assert_equal "\tPublic : false", rows[3]
|
|
23
|
-
assert_equal "\tPeriod :
|
|
24
|
-
assert_equal "\tSource :
|
|
25
|
-
|
|
26
|
-
assert_equal "\tOutdated : \e[
|
|
34
|
+
assert_equal "\tPeriod : daily", rows[4]
|
|
35
|
+
assert_equal "\tSource : API", rows[5]
|
|
36
|
+
assert_equal "\tDependencies : \e[1m11\e[0m", rows[6]
|
|
37
|
+
assert_equal "\tOutdated : \e[31m10\e[0m", rows[7]
|
|
27
38
|
end
|
|
28
39
|
end
|
|
29
40
|
|
|
30
41
|
def test_get_list_csv
|
|
31
42
|
VCR.use_cassette("project_list") do
|
|
32
43
|
output = capture_stdout do
|
|
33
|
-
Veye::Project::Check.get_list(@api_key, {format: 'csv'})
|
|
44
|
+
Veye::Project::Check.get_list(@api_key, @org_name, nil, {format: 'csv'})
|
|
34
45
|
end
|
|
35
46
|
|
|
36
47
|
rows = CSV.parse(output)
|
|
37
|
-
assert_equal ["nr", "name", "
|
|
48
|
+
assert_equal ["nr", "name", "project_id", "public", "period", "source",
|
|
38
49
|
"dep_number", "out_number", "created_at"], rows[0]
|
|
39
|
-
assert_equal ["1", "
|
|
40
|
-
"
|
|
50
|
+
assert_equal ["1", "OpenEJB :: Maven Plugins", "57c05d11864739001066e3f1", "false",
|
|
51
|
+
"daily", "API", "11", "10"], rows[1].take(8)
|
|
41
52
|
end
|
|
42
53
|
end
|
|
43
54
|
|
|
44
55
|
def test_get_list_json
|
|
45
56
|
VCR.use_cassette("project_list") do
|
|
46
57
|
output = capture_stdout do
|
|
47
|
-
Veye::Project::Check.get_list(@api_key, {format: 'json'})
|
|
58
|
+
Veye::Project::Check.get_list(@api_key, @org_name, nil, {format: 'json'})
|
|
48
59
|
end
|
|
49
60
|
|
|
50
61
|
res = JSON.parse(output)
|
|
51
62
|
projects = res["projects"]
|
|
52
|
-
|
|
53
|
-
assert_equal("
|
|
63
|
+
|
|
64
|
+
assert_equal("OpenEJB :: Maven Plugins", projects[0]["name"])
|
|
54
65
|
assert_equal(false, projects[0]["public"])
|
|
55
|
-
assert_equal("
|
|
56
|
-
assert_equal("
|
|
66
|
+
assert_equal("API", projects[0]["source"])
|
|
67
|
+
assert_equal("daily", projects[0]["period"])
|
|
57
68
|
end
|
|
58
69
|
end
|
|
59
70
|
|
|
60
71
|
def test_get_list_table
|
|
61
72
|
VCR.use_cassette("project_list") do
|
|
62
73
|
output = capture_stdout do
|
|
63
|
-
Veye::Project::Check.get_list(@api_key, {format: 'table'})
|
|
74
|
+
Veye::Project::Check.get_list(@api_key, @org_name, nil, {format: 'table'})
|
|
64
75
|
end
|
|
65
76
|
|
|
66
77
|
rows = output.split(/\n/)
|
|
67
78
|
assert_match(/\|\s+List of projects\s+\|/, rows[1])
|
|
68
79
|
assert_match(
|
|
69
|
-
/\| index\s+\| name\s+\|
|
|
80
|
+
/\| index\s+\| name\s+\| project_id\s+\|\s+public\s+\| period \| source \| dependencies \| outdated \| created_at\s+\|/,
|
|
70
81
|
rows[3]
|
|
71
82
|
)
|
|
72
83
|
|
|
@@ -74,16 +85,17 @@ class ProjectCheckTest < Minitest::Test
|
|
|
74
85
|
end
|
|
75
86
|
end
|
|
76
87
|
|
|
88
|
+
|
|
77
89
|
def test_upload_default
|
|
78
90
|
VCR.use_cassette('project_upload') do
|
|
79
91
|
output = capture_stdout do
|
|
80
|
-
Veye::Project::Check.upload(@api_key, @test_file, {})
|
|
92
|
+
Veye::Project::Check.upload(@api_key, @test_file, @org_name, @team_name, {format: 'pretty'})
|
|
81
93
|
end
|
|
82
94
|
|
|
83
95
|
refute_nil output
|
|
84
96
|
rows = output.split(/\n/)
|
|
85
97
|
assert_equal " 1 - \e[32m\e[1mOpenEJB :: Maven Plugins\e[0m", rows[0]
|
|
86
|
-
|
|
98
|
+
assert_match( /\tProject id\s+:\s+/, rows[1] )
|
|
87
99
|
assert_equal "\tProject type : Maven2", rows[2]
|
|
88
100
|
assert_equal "\tPublic : true", rows[3]
|
|
89
101
|
assert_equal "\tPeriod : daily", rows[4]
|
|
@@ -96,16 +108,14 @@ class ProjectCheckTest < Minitest::Test
|
|
|
96
108
|
def test_upload_csv
|
|
97
109
|
VCR.use_cassette('project_upload') do
|
|
98
110
|
output = capture_stdout do
|
|
99
|
-
Veye::Project::Check.upload(@api_key, @test_file, {format: "csv"})
|
|
111
|
+
Veye::Project::Check.upload(@api_key, @test_file, @org_name, @team_name, {format: "csv"})
|
|
100
112
|
end
|
|
101
113
|
|
|
102
114
|
refute_nil output
|
|
103
115
|
rows = CSV.parse(output)
|
|
104
|
-
assert_equal ["nr", "name", "
|
|
116
|
+
assert_equal ["nr", "name", "project_id", "public", "period", "source",
|
|
105
117
|
"dep_number", "out_number", "created_at"], rows[0]
|
|
106
|
-
assert_equal ["1", "OpenEJB :: Maven Plugins", "
|
|
107
|
-
"true", "daily", "API", "11", "10"],
|
|
108
|
-
rows[1].take(8)
|
|
118
|
+
assert_equal ["1", "OpenEJB :: Maven Plugins", @project_key, "true"], rows[1].take(4)
|
|
109
119
|
|
|
110
120
|
end
|
|
111
121
|
end
|
|
@@ -113,12 +123,11 @@ class ProjectCheckTest < Minitest::Test
|
|
|
113
123
|
def test_upload_json
|
|
114
124
|
VCR.use_cassette('project_upload') do
|
|
115
125
|
output = capture_stdout do
|
|
116
|
-
Veye::Project::Check.upload(@api_key, @test_file, {format: "json"})
|
|
126
|
+
Veye::Project::Check.upload(@api_key, @test_file, @org_name, @team_name, {format: "json"})
|
|
117
127
|
end
|
|
118
128
|
|
|
119
129
|
refute_nil output
|
|
120
130
|
res = JSON.parse(output)
|
|
121
|
-
assert_equal "maven2_openejb_maven_plugins_2", res["projects"]["project_key"]
|
|
122
131
|
assert_equal "OpenEJB :: Maven Plugins", res["projects"]["name"]
|
|
123
132
|
assert_equal "Maven2", res["projects"]["project_type"]
|
|
124
133
|
assert_equal true, res["projects"]["public"]
|
|
@@ -130,34 +139,45 @@ class ProjectCheckTest < Minitest::Test
|
|
|
130
139
|
def test_upload_table
|
|
131
140
|
VCR.use_cassette('project_upload') do
|
|
132
141
|
output = capture_stdout do
|
|
133
|
-
Veye::Project::Check.upload(@api_key, @test_file, {format: "table"})
|
|
142
|
+
Veye::Project::Check.upload(@api_key, @test_file, @org_name, @team_name, {format: "table"})
|
|
134
143
|
end
|
|
135
144
|
|
|
136
145
|
refute_nil output
|
|
137
146
|
rows = output.split(/\n/)
|
|
138
147
|
assert_match(/\|\s+List of projects\s+\|/, rows[1])
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
)
|
|
148
|
+
assert_match(/\|\s+index\s+|\s+name\s+\|\s+project_id\s+\|\s+private\s+\|/, rows[3])
|
|
149
|
+
assert_match(/\| 1\s+\|\s+OpenEJB :: Maven Plugins\s+\|/, rows[5])
|
|
150
|
+
end
|
|
151
|
+
end
|
|
144
152
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
)
|
|
153
|
+
def upload_update_project
|
|
154
|
+
proj_dt = {}
|
|
155
|
+
VCR.use_cassette('project_upload_for_update') do
|
|
156
|
+
res = Veye::API::Project.upload(@api_key, @test_file, @org_name, @team_name, false)
|
|
157
|
+
refute_nil res, 'upload_update_project: failed to create a project for the update tests'
|
|
158
|
+
proj_dt = res.data
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
proj_dt
|
|
162
|
+
end
|
|
163
|
+
|
|
164
|
+
def delete_update_project(proj_id)
|
|
165
|
+
VCR.use_cassette('project_delete_for_update') do
|
|
166
|
+
Veye::API::Project.delete_project(@api_key, proj_id)
|
|
149
167
|
end
|
|
150
168
|
end
|
|
151
169
|
|
|
152
170
|
def test_update_default
|
|
171
|
+
proj_dt = upload_update_project
|
|
172
|
+
|
|
153
173
|
VCR.use_cassette('project_update') do
|
|
154
174
|
output = capture_stdout do
|
|
155
|
-
Veye::Project::Check.update(@api_key,
|
|
175
|
+
Veye::Project::Check.update(@api_key, proj_dt['id'], @test_file, {})
|
|
156
176
|
end
|
|
157
177
|
refute_nil output
|
|
158
178
|
rows = output.split(/\n/)
|
|
159
179
|
assert_equal " 1 - \e[32m\e[1mOpenEJB :: Maven Plugins\e[0m", rows[0]
|
|
160
|
-
assert_equal "\tProject
|
|
180
|
+
assert_equal "\tProject id : \e[1m#{proj_dt['id']}\e[0m", rows[1]
|
|
161
181
|
assert_equal "\tProject type : Maven2", rows[2]
|
|
162
182
|
assert_equal "\tPublic : true", rows[3]
|
|
163
183
|
assert_equal "\tPeriod : daily", rows[4]
|
|
@@ -165,65 +185,77 @@ class ProjectCheckTest < Minitest::Test
|
|
|
165
185
|
assert_equal "\tDependencies : \e[1m11\e[0m", rows[6]
|
|
166
186
|
assert_equal "\tOutdated : \e[31m10\e[0m", rows[7]
|
|
167
187
|
end
|
|
188
|
+
|
|
189
|
+
ensure
|
|
190
|
+
delete_update_project(proj_dt['id'])
|
|
168
191
|
end
|
|
169
192
|
|
|
170
193
|
def test_update_csv
|
|
194
|
+
proj_dt = upload_update_project
|
|
195
|
+
|
|
171
196
|
VCR.use_cassette('project_update') do
|
|
172
197
|
output = capture_stdout do
|
|
173
|
-
Veye::Project::Check.update(@api_key,
|
|
198
|
+
Veye::Project::Check.update(@api_key, proj_dt['id'], @test_file, {format: 'csv'})
|
|
174
199
|
end
|
|
175
200
|
|
|
176
201
|
refute_nil output
|
|
177
202
|
rows = CSV.parse(output)
|
|
178
|
-
assert_equal ["nr", "name", "
|
|
203
|
+
assert_equal ["nr", "name", "project_id", "public", "period", "source",
|
|
179
204
|
"dep_number", "out_number", "created_at"], rows[0]
|
|
180
|
-
assert_equal ["1", "OpenEJB :: Maven Plugins", "
|
|
181
|
-
"true", "daily", "API", "11", "10"], rows[1].take(8)
|
|
205
|
+
assert_equal ["1", "OpenEJB :: Maven Plugins", proj_dt['id'], "true", "daily", "API", "11", "10"], rows[1].take(8)
|
|
182
206
|
end
|
|
207
|
+
|
|
208
|
+
ensure
|
|
209
|
+
delete_update_project(proj_dt['id'])
|
|
183
210
|
end
|
|
184
211
|
|
|
185
212
|
def test_update_json
|
|
213
|
+
proj_dt = upload_update_project
|
|
214
|
+
|
|
186
215
|
VCR.use_cassette('project_update') do
|
|
187
216
|
output = capture_stdout do
|
|
188
|
-
Veye::Project::Check.update(@api_key,
|
|
217
|
+
Veye::Project::Check.update(@api_key, proj_dt['id'], @test_file, {format: 'json'})
|
|
189
218
|
end
|
|
190
219
|
|
|
191
220
|
refute_nil output
|
|
192
221
|
res = JSON.parse(output)
|
|
193
222
|
proj = res["projects"]
|
|
194
|
-
assert_equal
|
|
223
|
+
assert_equal proj_dt['id'], proj['id']
|
|
195
224
|
assert_equal "OpenEJB :: Maven Plugins", proj["name"]
|
|
196
|
-
assert_equal "Maven2",
|
|
197
|
-
assert_equal true,
|
|
198
|
-
assert_equal "API",
|
|
199
|
-
assert_equal 11,
|
|
225
|
+
assert_equal "Maven2", proj["project_type"]
|
|
226
|
+
assert_equal true, proj["public"]
|
|
227
|
+
assert_equal "API", proj["source"]
|
|
228
|
+
assert_equal 11, proj["dependencies"].count
|
|
200
229
|
end
|
|
230
|
+
ensure
|
|
231
|
+
delete_update_project(proj_dt['id'])
|
|
201
232
|
end
|
|
202
233
|
|
|
203
234
|
def test_update_table
|
|
235
|
+
proj_dt = upload_update_project
|
|
236
|
+
|
|
204
237
|
VCR.use_cassette('project_update') do
|
|
205
238
|
output = capture_stdout do
|
|
206
|
-
Veye::Project::Check.update(@api_key,
|
|
239
|
+
Veye::Project::Check.update(@api_key, proj_dt['id'], @test_file, {format: 'table'})
|
|
207
240
|
end
|
|
208
241
|
|
|
209
242
|
refute_nil output
|
|
210
243
|
rows = output.split(/\n/)
|
|
244
|
+
|
|
211
245
|
assert_match(
|
|
212
|
-
/| index \| name\s+\|
|
|
213
|
-
rows[4]
|
|
214
|
-
)
|
|
215
|
-
assert_match(
|
|
216
|
-
/\| 1\s+\| OpenEJB :: Maven Plugins \| maven2_openejb_maven_plugins_2 \|/,
|
|
217
|
-
rows[5]
|
|
246
|
+
/| index \| name\s+\| project_id\s+\| private \| period \| source \|/, rows[4]
|
|
218
247
|
)
|
|
248
|
+
assert_match(/\| 1\s+\|\s+OpenEJB :: Maven Plugins\s+\|/, rows[5])
|
|
219
249
|
|
|
220
250
|
assert_match(
|
|
221
251
|
/\| index \| name\s+\| prod_key\s+\| version_current \| version_requested\s+\| outdated | stable/,
|
|
222
252
|
rows[10]
|
|
223
253
|
)
|
|
224
254
|
|
|
225
|
-
assert_match(/\| 1\s
|
|
255
|
+
#assert_match(/\| 1\s+\|\s+maven-plugin-annotations\s+\|/, rows[12])
|
|
226
256
|
end
|
|
257
|
+
ensure
|
|
258
|
+
delete_update_project(proj_dt['id'])
|
|
227
259
|
end
|
|
228
260
|
|
|
229
261
|
def test_get_project_default
|
|
@@ -235,7 +267,7 @@ class ProjectCheckTest < Minitest::Test
|
|
|
235
267
|
refute_nil output
|
|
236
268
|
rows = output.split(/\n/)
|
|
237
269
|
assert_equal " 1 - \e[32m\e[1mOpenEJB :: Maven Plugins\e[0m", rows[0]
|
|
238
|
-
assert_equal "\tProject
|
|
270
|
+
assert_equal "\tProject id : \e[1m#{@project_key}\e[0m", rows[1]
|
|
239
271
|
assert_equal "\tProject type : Maven2", rows[2]
|
|
240
272
|
assert_equal "\tPublic : true", rows[3]
|
|
241
273
|
assert_equal "\tPeriod : daily", rows[4]
|
|
@@ -253,10 +285,8 @@ class ProjectCheckTest < Minitest::Test
|
|
|
253
285
|
|
|
254
286
|
refute_nil output
|
|
255
287
|
rows = CSV.parse(output)
|
|
256
|
-
assert_equal ["nr", "name", "
|
|
257
|
-
|
|
258
|
-
assert_equal ["1", "OpenEJB :: Maven Plugins", "maven2_openejb_maven_plugins_2",
|
|
259
|
-
"true", "daily", "API", "11", "10"], rows[1].take(8)
|
|
288
|
+
assert_equal ["nr", "name", "project_id", "public", "period", "source", "dep_number", "out_number", "created_at"], rows[0]
|
|
289
|
+
assert_equal ["1", "OpenEJB :: Maven Plugins", @project_key, "true", "daily", "API", "11", "10"], rows[1].take(8)
|
|
260
290
|
end
|
|
261
291
|
end
|
|
262
292
|
|
|
@@ -269,12 +299,10 @@ class ProjectCheckTest < Minitest::Test
|
|
|
269
299
|
refute_nil output, "test_get_project_json output cant be empty"
|
|
270
300
|
doc = JSON.parse(output)
|
|
271
301
|
proj = doc["projects"]
|
|
272
|
-
assert_equal
|
|
273
|
-
assert_equal "
|
|
274
|
-
assert_equal true, proj["public"]
|
|
275
|
-
assert_equal "API", proj["source"]
|
|
302
|
+
assert_equal true, proj["public"]
|
|
303
|
+
assert_equal "API", proj["source"]
|
|
276
304
|
assert_equal "daily", proj["period"]
|
|
277
|
-
assert_equal 11,
|
|
305
|
+
assert_equal 11, proj["dependencies"].count
|
|
278
306
|
end
|
|
279
307
|
end
|
|
280
308
|
|
|
@@ -288,17 +316,12 @@ class ProjectCheckTest < Minitest::Test
|
|
|
288
316
|
|
|
289
317
|
rows = output.split(/\n/)
|
|
290
318
|
assert_match(
|
|
291
|
-
/| index \| name\s+\|
|
|
292
|
-
rows[4]
|
|
293
|
-
)
|
|
294
|
-
assert_match(
|
|
295
|
-
/\| 1\s+\| OpenEJB :: Maven Plugins \| maven2_openejb_maven_plugins_2\s+\|/,
|
|
296
|
-
rows[5]
|
|
319
|
+
/| index \| name\s+\| project_id\s\| private \| period \| source \|/, rows[4]
|
|
297
320
|
)
|
|
321
|
+
assert_match(/\| 1\s+\| OpenEJB :: Maven Plugins\s+\|/, rows[5])
|
|
298
322
|
|
|
299
323
|
assert_match(
|
|
300
|
-
/\| index \| name\s+\| prod_key\s+\| version_current \| version_requested\s+\| outdated | stable/,
|
|
301
|
-
rows[10]
|
|
324
|
+
/\| index \| name\s+\| prod_key\s+\| version_current \| version_requested\s+\| outdated | stable/, rows[10]
|
|
302
325
|
)
|
|
303
326
|
end
|
|
304
327
|
end
|
|
@@ -339,7 +362,9 @@ class ProjectCheckTest < Minitest::Test
|
|
|
339
362
|
refute_nil output, "output of project_check_new cant be empty "
|
|
340
363
|
rows = output.split(/\n/)
|
|
341
364
|
|
|
342
|
-
|
|
365
|
+
assert_equal "project ids are saved into `\e[33mveye.json\e[0m`", rows[1]
|
|
366
|
+
assert_equal " 1 - \e[32m\e[1msass-rails\e[0m", rows[3]
|
|
367
|
+
assert_equal "\tSourcefile : Gemfile", rows[4]
|
|
343
368
|
end
|
|
344
369
|
|
|
345
370
|
Veye::Settings.load(settings_file)
|
|
@@ -352,7 +377,10 @@ class ProjectCheckTest < Minitest::Test
|
|
|
352
377
|
|
|
353
378
|
refute_nil output, "output of project_check_update cant be empty"
|
|
354
379
|
rows = output.split(/\n/)
|
|
355
|
-
|
|
380
|
+
assert_equal "project ids are saved into `\e[33mveye.json\e[0m`", rows[1]
|
|
381
|
+
assert_equal " 1 - \e[32m\e[1msass-rails\e[0m", rows[3]
|
|
382
|
+
assert_equal "\tSourcefile : Gemfile", rows[4]
|
|
383
|
+
|
|
356
384
|
end
|
|
357
385
|
|
|
358
386
|
delete_file(settings_file)
|
|
@@ -4,49 +4,67 @@ require 'csv'
|
|
|
4
4
|
class ProjectLicenseTest < MiniTest::Test
|
|
5
5
|
def setup
|
|
6
6
|
init_environment
|
|
7
|
-
@
|
|
8
|
-
@
|
|
7
|
+
@api_key = ENV["VEYE_API_KEY"]
|
|
8
|
+
@test_file = 'test/files/maven-1.0.1.pom.xml'
|
|
9
|
+
@org_name = 'veye_test'
|
|
10
|
+
@project_key = upload_project['id']
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def teardown
|
|
14
|
+
VCR.use_cassette('project_delete_for_licenses') do
|
|
15
|
+
Veye::Project::Check.delete_project(@api_key, @project_key)
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def upload_project
|
|
20
|
+
VCR.use_cassette('project_upload_for_licenses') do
|
|
21
|
+
res = Veye::API::Project.upload(@api_key, @test_file, @org_name, nil, false)
|
|
22
|
+
refute_nil 'Failed to create a project for licenses spec'
|
|
23
|
+
res.data
|
|
24
|
+
end
|
|
9
25
|
end
|
|
10
26
|
|
|
11
27
|
def test_get_licenses_default
|
|
12
|
-
VCR.use_cassette("
|
|
28
|
+
VCR.use_cassette("project_license_command") do
|
|
13
29
|
output = capture_stdout do |x|
|
|
14
30
|
Veye::Project::License.get_licenses(@api_key, @project_key, {})
|
|
15
31
|
end
|
|
16
32
|
|
|
17
33
|
rows = output.split(/\n/)
|
|
18
|
-
assert_equal(" 1 - \e[32m\e[
|
|
19
|
-
assert_match(/\tProducts\s+
|
|
34
|
+
assert_equal(" 1 - \e[32m\e[1mApache-2.0\e[0m", rows[0])
|
|
35
|
+
assert_match(/\tProducts\s+:\s+org\.apache\.maven\.plugin-tools\/maven-plugin-annotations/, rows[1])
|
|
20
36
|
end
|
|
21
37
|
end
|
|
22
38
|
|
|
23
39
|
def test_get_licenses_json
|
|
24
|
-
VCR.use_cassette('
|
|
40
|
+
VCR.use_cassette('project_license_command') do
|
|
25
41
|
output = capture_stdout do |x|
|
|
26
42
|
Veye::Project::License.get_licenses(@api_key, @project_key, {format: "json"})
|
|
27
43
|
end
|
|
28
44
|
|
|
29
45
|
res = JSON.parse(output)
|
|
30
|
-
|
|
31
|
-
assert_equal({"name" => "gli", "prod_key" => "gli"}, unknown_licenses[1])
|
|
46
|
+
assert_equal(false, res["licenses"].has_key?("unknown") )
|
|
32
47
|
end
|
|
33
48
|
end
|
|
34
49
|
|
|
35
50
|
def test_get_licenses_csv
|
|
36
|
-
VCR.use_cassette('
|
|
51
|
+
VCR.use_cassette('project_license_command') do
|
|
37
52
|
output = capture_stdout do |x|
|
|
38
53
|
Veye::Project::License.get_licenses(@api_key, @project_key, {format: "csv"})
|
|
39
54
|
end
|
|
40
55
|
|
|
41
56
|
rows = CSV.parse(output)
|
|
42
57
|
assert_equal(["nr", "license", "product_keys"], rows[0])
|
|
43
|
-
assert_equal(
|
|
58
|
+
assert_equal(
|
|
59
|
+
["1", "Apache-2.0", "org.apache.maven.plugin-tools/maven-plugin-annotations", "org.codehaus.plexus/plexus-utils"],
|
|
60
|
+
rows[1][0,4]
|
|
61
|
+
)
|
|
44
62
|
end
|
|
45
63
|
end
|
|
46
64
|
|
|
47
65
|
|
|
48
66
|
def test_get_licenses_table
|
|
49
|
-
VCR.use_cassette('
|
|
67
|
+
VCR.use_cassette('project_license_command') do
|
|
50
68
|
output = capture_stdout do |x|
|
|
51
69
|
Veye::Project::License.get_licenses(@api_key, @project_key, {format: "table"})
|
|
52
70
|
end
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class ProjectTest < Minitest::Test
|
|
4
|
+
def setup
|
|
5
|
+
init_environment
|
|
6
|
+
@api_key = ENV['VEYE_API_KEY']
|
|
7
|
+
@test_file = "test/files/maven-1.0.1.pom.xml"
|
|
8
|
+
@test_file2 = "test/files/Gemfile"
|
|
9
|
+
|
|
10
|
+
@org_name = "veye_test"
|
|
11
|
+
@team_name = "veye_cli_tool"
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def upload_project(test_file = nil, is_temporary = true, task_id = nil)
|
|
15
|
+
cassette_name = ( task_id.nil? ? 'project_upload' : "project_upload_#{task_id}" )
|
|
16
|
+
test_file ||= @test_file
|
|
17
|
+
org_name = @org_name
|
|
18
|
+
|
|
19
|
+
VCR.use_cassette(cassette_name) do
|
|
20
|
+
res = Veye::API::Project.upload(@api_key, test_file, org_name, nil, is_temporary)
|
|
21
|
+
res.data
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def delete_project(project_id, task_id = nil)
|
|
26
|
+
VCR.use_cassette("project_delete_#{task_id.to_s}") do
|
|
27
|
+
res = Veye::API::Project.delete_project(@api_key, project_id)
|
|
28
|
+
res.data
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def test_merge_and_unmerge_command
|
|
33
|
+
#upload 2projects
|
|
34
|
+
parent_id = upload_project(@test_file, false, 'merge_parent')['id']
|
|
35
|
+
child_id = upload_project(@test_file2, false, 'merge_child')['id']
|
|
36
|
+
|
|
37
|
+
VCR.use_cassette('project_merge') do
|
|
38
|
+
output = capture_stdout do
|
|
39
|
+
Veye::Project.merge(@api_key, parent_id, child_id)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
assert_equal "success: true\n", output
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
VCR.use_cassette('project_unmerge') do
|
|
46
|
+
output = capture_stdout do
|
|
47
|
+
Veye::Project.unmerge(@api_key, parent_id, child_id)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
assert_equal "success: true\n", output
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
#delete projects
|
|
54
|
+
delete_project(parent_id, 'merge_parent')
|
|
55
|
+
delete_project(child_id, 'merge_child')
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
end
|
data/test/user_me_test.rb
CHANGED
|
@@ -29,7 +29,7 @@ class UserMeTest < Minitest::Test
|
|
|
29
29
|
refute_nil out
|
|
30
30
|
rows = CSV.parse(out)
|
|
31
31
|
assert_equal ["username", "fullname", "email", "plan_name_id", "admin", "new_notifications", "total_notifications"], rows[0]
|
|
32
|
-
assert_equal ["timgluz", "Tim Gluz", "timgluz@gmail.com", nil, "false"
|
|
32
|
+
assert_equal ["timgluz", "Tim Gluz", "timgluz@gmail.com", nil, "false"], rows[1].take(5)
|
|
33
33
|
end
|
|
34
34
|
end
|
|
35
35
|
|
|
@@ -91,8 +91,8 @@ class UserMeTest < Minitest::Test
|
|
|
91
91
|
refute_nil out
|
|
92
92
|
rows = CSV.parse out
|
|
93
93
|
assert_equal ["index", "name", "prod_key", "prod_type", "version", "language"], rows[0]
|
|
94
|
-
assert_equal ["1", "h2", "com.h2database/h2", "Maven2"
|
|
95
|
-
assert_equal ["2", "mallet", "cc.mallet/mallet", "Maven2"
|
|
94
|
+
assert_equal ["1", "h2", "com.h2database/h2", "Maven2"], rows[1].take(4)
|
|
95
|
+
assert_equal ["2", "mallet", "cc.mallet/mallet", "Maven2"], rows[2].take(4)
|
|
96
96
|
end
|
|
97
97
|
end
|
|
98
98
|
|
|
@@ -120,7 +120,7 @@ class UserMeTest < Minitest::Test
|
|
|
120
120
|
rows = out.split(/\n/)
|
|
121
121
|
assert_match(/\|\s+Favorite packages\s+\|/, rows[1])
|
|
122
122
|
assert_match(/\| nr \| name\s+\| product_key\s+\| version\s+\| language\s+\|/, rows[3])
|
|
123
|
-
assert_match(/\| 1\s+\| h2\s+\| com\.h2database\/h2\s
|
|
123
|
+
assert_match(/\| 1\s+\| h2\s+\| com\.h2database\/h2\s+\|/ , rows[5])
|
|
124
124
|
end
|
|
125
125
|
end
|
|
126
126
|
end
|
data/veye.gemspec
CHANGED
|
@@ -27,18 +27,20 @@ spec = Gem::Specification.new do |s|
|
|
|
27
27
|
s.executables << 'veye'
|
|
28
28
|
|
|
29
29
|
s.add_development_dependency('rake', '~> 11.1')
|
|
30
|
-
s.add_development_dependency('minitest', '~> 5.
|
|
31
|
-
s.add_development_dependency('minitest-reporters', '~> 1.
|
|
32
|
-
s.add_development_dependency('vcr', '~> 3.0
|
|
33
|
-
s.add_development_dependency('webmock', '~> 1
|
|
30
|
+
s.add_development_dependency('minitest', '~> 5.9')
|
|
31
|
+
s.add_development_dependency('minitest-reporters', '~> 1.1')
|
|
32
|
+
s.add_development_dependency('vcr', '~> 3.0')
|
|
33
|
+
s.add_development_dependency('webmock', '~> 2.1')
|
|
34
34
|
s.add_development_dependency('rdoc', '~> 4.2')
|
|
35
35
|
s.add_development_dependency('aruba', '~> 0.14')
|
|
36
36
|
s.add_development_dependency('rubocop', '~> 0.38')
|
|
37
37
|
|
|
38
|
-
s.add_runtime_dependency('gli', '
|
|
39
|
-
s.add_runtime_dependency('rest-client', '~>
|
|
40
|
-
s.add_runtime_dependency('awesome_print', '~> 1.
|
|
38
|
+
s.add_runtime_dependency('gli', '~> 2.14')
|
|
39
|
+
s.add_runtime_dependency('rest-client', '~> 2.0')
|
|
40
|
+
s.add_runtime_dependency('awesome_print', '~> 1.7')
|
|
41
41
|
s.add_runtime_dependency('rainbow', '~> 2.0')
|
|
42
|
-
s.add_runtime_dependency('terminal-table', '~> 1.
|
|
42
|
+
s.add_runtime_dependency('terminal-table', '~> 1.7')
|
|
43
43
|
s.add_runtime_dependency('render-as-markdown','~> 0')
|
|
44
|
+
s.add_runtime_dependency('naturalsorter', '~> 3.0')
|
|
45
|
+
s.add_runtime_dependency('semverly', '~> 1.0')
|
|
44
46
|
end
|
data/veye.log
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Logfile created on 2016-09-02 14:31:58 +0200 by logger.rb/47272
|
|
2
|
+
I, [2016-09-02T14:38:26.107103 #7548] INFO -- Veye: Fetching a list of project for private, team:
|
|
3
|
+
I, [2016-09-02T14:43:53.189733 #7638] INFO -- Veye: Fetching a list of project for private, team:
|
|
4
|
+
E, [2016-09-02T13:59:22.897053 #55] ERROR -- Veye: API returned error - 401, {"error"=>"Request not authorized."}
|
|
5
|
+
E, [2016-09-02T14:08:14.835931 #69] ERROR -- Veye: API returned error - 401, {"error"=>"Request not authorized."}
|
|
6
|
+
E, [2016-09-02T14:08:20.128781 #72] ERROR -- Veye: API returned error - 401, {"error"=>"Request not authorized."}
|
|
7
|
+
E, [2016-09-02T14:29:24.592771 #61] ERROR -- Veye: API returned error - 403, {"error"=>"API rate limit exceeded. Unauthenticated API cals are limited to 5 calls per hour. With an API key you can extend your rate limit. Sign up for free and get an API key!"}
|
|
8
|
+
I, [2016-09-02T14:30:17.658099 #72] INFO -- Veye: Fetching a list of project for private, team:
|
|
9
|
+
E, [2016-09-02T14:40:40.243306 #55] ERROR -- Veye: API returned error - 403, {"error"=>"API rate limit exceeded. Unauthenticated API cals are limited to 5 calls per hour. With an API key you can extend your rate limit. Sign up for free and get an API key!"}
|
|
10
|
+
E, [2016-09-02T15:12:02.358710 #54] ERROR -- Veye: API returned error - 403, {"error"=>"API rate limit exceeded. Unauthenticated API cals are limited to 5 calls per hour. With an API key you can extend your rate limit. Sign up for free and get an API key!"}
|
|
11
|
+
I, [2016-09-02T15:12:32.554875 #65] INFO -- Veye: Fetching a list of project for private, team:
|