veye 0.0.9 → 0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +80 -29
- data/Makefile +6 -0
- data/README.md +12 -224
- data/bin/veye +13 -22
- data/changelogs.md +95 -0
- data/lib/veye/api/base_resource.rb +8 -9
- data/lib/veye/api/github.rb +77 -0
- data/lib/veye/api/json_response.rb +21 -25
- data/lib/veye/api/package.rb +98 -0
- data/lib/veye/api/project.rb +107 -0
- data/lib/veye/api/resource.rb +9 -8
- data/lib/veye/api/service.rb +15 -0
- data/lib/veye/api/user.rb +32 -0
- data/lib/veye/api.rb +22 -2
- data/lib/veye/base_executor.rb +13 -9
- data/lib/veye/github/delete.rb +10 -20
- data/lib/veye/github/import.rb +7 -14
- data/lib/veye/github/info.rb +6 -12
- data/lib/veye/github/list.rb +9 -19
- data/lib/veye/github/search.rb +9 -17
- data/lib/veye/github/sync.rb +9 -18
- data/lib/veye/github.rb +1 -1
- data/lib/veye/helpers/format_helpers.rb +15 -5
- data/lib/veye/package/follow.rb +24 -47
- data/lib/veye/package/info.rb +8 -25
- data/lib/veye/package/references.rb +9 -36
- data/lib/veye/package/search.rb +14 -24
- data/lib/veye/package.rb +14 -6
- data/lib/veye/pagination.rb +2 -0
- data/lib/veye/project/check.rb +39 -117
- data/lib/veye/project/license.rb +23 -0
- data/lib/veye/project.rb +4 -3
- data/lib/veye/service.rb +13 -17
- data/lib/veye/user/me.rb +11 -30
- data/lib/veye/user.rb +2 -1
- data/lib/veye/version.rb +1 -1
- data/lib/veye/views/github/info_csv.rb +3 -3
- data/lib/veye/views/github/info_json.rb +4 -0
- data/lib/veye/views/github/list_csv.rb +5 -3
- data/lib/veye/views/github/list_pretty.rb +2 -2
- data/lib/veye/views/github/list_table.rb +3 -2
- data/lib/veye/views/package/info_pretty.rb +1 -1
- data/lib/veye/views/package/search_csv.rb +2 -3
- data/lib/veye/views/package/search_table.rb +1 -3
- data/lib/veye/views/package.rb +1 -1
- data/lib/veye/views/project/licence_csv.rb +3 -3
- data/lib/veye/views/project/licence_json.rb +1 -1
- data/lib/veye/views/project/licence_pretty.rb +1 -1
- data/lib/veye/views/project/licence_table.rb +3 -3
- data/lib/veye/views/user/profile_table.rb +4 -1
- data/lib/veye/views/user.rb +3 -1
- data/lib/veye.rb +29 -61
- data/test/api/github_test.rb +84 -0
- data/test/api/package_test.rb +80 -0
- data/test/api/project_test.rb +118 -0
- data/test/api/service_test.rb +15 -0
- data/test/api/user_test.rb +30 -0
- data/test/fixtures/vcr_cassettes/github_delete.yml +48 -0
- data/test/fixtures/vcr_cassettes/github_import.yml +53 -0
- data/test/fixtures/vcr_cassettes/github_info.yml +49 -0
- data/test/fixtures/vcr_cassettes/github_list.yml +80 -0
- data/test/fixtures/vcr_cassettes/github_sync.yml +48 -0
- data/test/fixtures/vcr_cassettes/package_follow.yml +52 -0
- data/test/fixtures/vcr_cassettes/package_follow_status.yml +48 -0
- data/test/fixtures/vcr_cassettes/package_info.yml +56 -0
- data/test/fixtures/vcr_cassettes/package_reference.yml +46 -0
- data/test/fixtures/vcr_cassettes/package_search.yml +46 -0
- data/test/fixtures/vcr_cassettes/package_unfollow.yml +48 -0
- data/test/fixtures/vcr_cassettes/project_delete.yml +48 -0
- data/test/fixtures/vcr_cassettes/project_get.yml +49 -0
- data/test/fixtures/vcr_cassettes/project_license.yml +49 -0
- data/test/fixtures/vcr_cassettes/project_list.yml +48 -0
- data/test/fixtures/vcr_cassettes/project_update.yml +105 -0
- data/test/fixtures/vcr_cassettes/project_upload.yml +104 -0
- data/test/fixtures/vcr_cassettes/services_ping.yml +46 -0
- data/test/fixtures/vcr_cassettes/user_get_favorites.yml +48 -0
- data/test/fixtures/vcr_cassettes/user_get_profile.yml +48 -0
- data/test/github_delete_test.rb +31 -0
- data/test/github_import_test.rb +94 -0
- data/test/github_info_test.rb +73 -0
- data/test/github_list_test.rb +84 -0
- data/test/github_sync_test.rb +20 -0
- data/test/package_follow_test.rb +38 -0
- data/test/package_info_test.rb +73 -0
- data/test/package_reference_test.rb +67 -0
- data/test/package_search_test.rb +66 -0
- data/test/project_check_test.rb +326 -0
- data/test/project_license_test.rb +72 -0
- data/test/service_test.rb +29 -0
- data/test/test_helper.rb +29 -4
- data/test/user_me_test.rb +126 -0
- data/veye.gemspec +45 -0
- metadata +163 -37
- data/DEPENDENCIES.md +0 -25
- data/lib/veye/helpers/repo_helpers.rb +0 -5
- data/lib/veye/project/licence.rb +0 -38
- data/test/default_test.rb +0 -14
@@ -0,0 +1,104 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://www.versioneye.com/api/v2/projects
|
6
|
+
body:
|
7
|
+
encoding: ASCII-8BIT
|
8
|
+
string: "--134613\r\nContent-Disposition: form-data; name=\"upload\"; filename=\"maven-1.0.1.pom.xml\"\r\nContent-Type:
|
9
|
+
application/xml\r\n\r\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n
|
10
|
+
\ Licensed to the Apache Software Foundation (ASF) under one or more\n contributor
|
11
|
+
license agreements. See the NOTICE file distributed with\n this work for
|
12
|
+
additional information regarding copyright ownership.\n The ASF licenses
|
13
|
+
this file to You under the Apache License, Version 2.0\n (the \"License\");
|
14
|
+
you may not use this file except in compliance with\n the License. You
|
15
|
+
may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n
|
16
|
+
\ Unless required by applicable law or agreed to in writing, software\n
|
17
|
+
\ distributed under the License is distributed on an \"AS IS\" BASIS,\n
|
18
|
+
\ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n
|
19
|
+
\ See the License for the specific language governing permissions and\n
|
20
|
+
\ limitations under the License.\n -->\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\n
|
21
|
+
\ xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0
|
22
|
+
http://maven.apache.org/xsd/maven-4.0.0.xsd\">\n <modelVersion>4.0.0</modelVersion>\n\n
|
23
|
+
\ <parent>\n <artifactId>openejb</artifactId>\n <groupId>org.apache.openejb</groupId>\n
|
24
|
+
\ <version>4.5.1</version>\n </parent>\n\n <groupId>org.apache.openejb.maven</groupId>\n
|
25
|
+
\ <version>1.0.1</version>\n <artifactId>maven</artifactId>\n <packaging>pom</packaging>\n
|
26
|
+
\ <name>OpenEJB :: Maven Plugins</name>\n\n <modules>\n <module>tomee-maven-plugin</module>\n
|
27
|
+
\ <module>tomee-embedded-maven-plugin</module>\n <module>openejb-embedded-maven-plugin</module>\n
|
28
|
+
\ <module>maven-util</module>\n <module>tomee-webapp-archetype</module>\n
|
29
|
+
\ </modules>\n\n <dependencyManagement>\n <dependencies>\n <dependency>\n
|
30
|
+
\ <groupId>org.apache.maven.plugin-tools</groupId>\n <artifactId>maven-plugin-annotations</artifactId>\n
|
31
|
+
\ <version>3.1</version>\n </dependency>\n <dependency>\n
|
32
|
+
\ <groupId>org.codehaus.plexus</groupId>\n <artifactId>plexus-utils</artifactId>\n
|
33
|
+
\ <version>3.0.1</version>\n </dependency>\n <dependency>\n
|
34
|
+
\ <groupId>org.apache.maven</groupId>\n <artifactId>maven-plugin-api</artifactId>\n
|
35
|
+
\ <version>${maven.version}</version>\n </dependency>\n <dependency>\n
|
36
|
+
\ <groupId>org.apache.maven</groupId>\n <artifactId>maven-project</artifactId>\n
|
37
|
+
\ <version>${maven.version}</version>\n </dependency>\n <dependency>\n
|
38
|
+
\ <groupId>org.apache.maven</groupId>\n <artifactId>maven-core</artifactId>\n
|
39
|
+
\ <version>${maven.version}</version>\n </dependency>\n <dependency>\n
|
40
|
+
\ <groupId>org.apache.maven</groupId>\n <artifactId>maven-artifact</artifactId>\n
|
41
|
+
\ <version>${maven.version}</version>\n </dependency>\n <dependency>\n
|
42
|
+
\ <groupId>org.sonatype.aether</groupId>\n <artifactId>aether-api</artifactId>\n
|
43
|
+
\ <version>${aether.version}</version>\n </dependency>\n <dependency>\n
|
44
|
+
\ <groupId>org.apache.openejb</groupId>\n <artifactId>openejb-core</artifactId>\n
|
45
|
+
\ <version>${openejb.version}</version>\n </dependency>\n <dependency>\n
|
46
|
+
\ <groupId>org.apache.openejb</groupId>\n <artifactId>openejb-client</artifactId>\n
|
47
|
+
\ <version>${openejb.version}</version>\n </dependency>\n </dependencies>\n
|
48
|
+
\ </dependencyManagement>\n\n <properties>\n <maven.version>2.2.1</maven.version>\n
|
49
|
+
\ </properties>\n\n <build>\n <plugins>\n <plugin>\n <groupId>org.apache.maven.plugins</groupId>\n
|
50
|
+
\ <artifactId>maven-plugin-plugin</artifactId>\n <version>3.1</version>\n
|
51
|
+
\ <executions>\n <execution>\n <id>mojo-descriptor</id>\n
|
52
|
+
\ <goals>\n <goal>descriptor</goal>\n </goals>\n
|
53
|
+
\ </execution>\n </executions>\n <configuration>\n <goalPrefix>${maven-plugin.prefix}</goalPrefix>\n
|
54
|
+
\ <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>\n
|
55
|
+
\ </configuration>\n </plugin>\n </plugins>\n </build>\n\n
|
56
|
+
\ <reporting>\n <plugins>\n <plugin>\n <groupId>org.apache.maven.plugins</groupId>\n
|
57
|
+
\ <artifactId>maven-plugin-plugin</artifactId>\n <version>3.0</version>\n
|
58
|
+
\ </plugin>\n </plugins>\n </reporting>\n</project>\n\r\n--134613\r\nContent-Disposition:
|
59
|
+
form-data; name=\"api_key\"\r\n\r\nba7d93beb5de7820764e\r\n--134613--\r\n"
|
60
|
+
headers:
|
61
|
+
Accept:
|
62
|
+
- "*/*; q=0.5, application/xml"
|
63
|
+
Accept-Encoding:
|
64
|
+
- gzip, deflate
|
65
|
+
Content-Length:
|
66
|
+
- '4455'
|
67
|
+
Content-Type:
|
68
|
+
- multipart/form-data; boundary=134613
|
69
|
+
User-Agent:
|
70
|
+
- Ruby
|
71
|
+
response:
|
72
|
+
status:
|
73
|
+
code: 201
|
74
|
+
message: Created
|
75
|
+
headers:
|
76
|
+
Server:
|
77
|
+
- nginx/1.4.6 (Ubuntu)
|
78
|
+
Date:
|
79
|
+
- Sun, 19 Jul 2015 18:27:23 GMT
|
80
|
+
Content-Type:
|
81
|
+
- application/json
|
82
|
+
Content-Length:
|
83
|
+
- '3467'
|
84
|
+
Connection:
|
85
|
+
- keep-alive
|
86
|
+
Strict-Transport-Security:
|
87
|
+
- max-age=31536000
|
88
|
+
Set-Cookie:
|
89
|
+
- api_key=ba7d93beb5de7820764e; secure
|
90
|
+
Etag:
|
91
|
+
- W/"829f6bfcb1208b615d8dedff01dd79f0"
|
92
|
+
Cache-Control:
|
93
|
+
- max-age=0, private, must-revalidate
|
94
|
+
X-Request-Id:
|
95
|
+
- 740525e9-ed68-4d90-a1f3-1bcbbb23c1b2
|
96
|
+
X-Runtime:
|
97
|
+
- '1.005053'
|
98
|
+
body:
|
99
|
+
encoding: UTF-8
|
100
|
+
string: '{"id":"55abec3d633134000d068baf","project_key":"maven2_openejb_maven_plugins_1","name":"OpenEJB
|
101
|
+
:: Maven Plugins","project_type":"Maven2","public":true,"private_scm":false,"period":"daily","source":"API","dep_number":11,"out_number":10,"licenses_red":0,"licenses_unknown":3,"created_at":"2015-07-19T18:28:13.572Z","updated_at":"2015-07-19T18:28:14.121Z","license_whitelist":null,"dependencies":[{"name":"maven-plugin-annotations","prod_key":"org.apache.maven.plugin-tools/maven-plugin-annotations","group_id":"org.apache.maven.plugin-tools","artifact_id":"maven-plugin-annotations","language":"java","version_current":"3.4","version_requested":"3.1","comparator":"=","unknown":false,"outdated":true,"stable":true},{"name":"plexus-utils","prod_key":"org.codehaus.plexus/plexus-utils","group_id":"org.codehaus.plexus","artifact_id":"plexus-utils","language":"java","version_current":"3.0.22","version_requested":"3.0.1","comparator":"=","unknown":false,"outdated":true,"stable":true},{"name":"maven-plugin-api","prod_key":"org.apache.maven/maven-plugin-api","group_id":"org.apache.maven","artifact_id":"maven-plugin-api","language":"java","version_current":"3.3.3","version_requested":"2.2.1","comparator":"=","unknown":false,"outdated":true,"stable":true},{"name":"maven-project","prod_key":"org.apache.maven/maven-project","group_id":"org.apache.maven","artifact_id":"maven-project","language":"java","version_current":"2.2.1","version_requested":"2.2.1","comparator":"=","unknown":false,"outdated":false,"stable":true},{"name":"maven-core","prod_key":"org.apache.maven/maven-core","group_id":"org.apache.maven","artifact_id":"maven-core","language":"java","version_current":"3.3.3","version_requested":"2.2.1","comparator":"=","unknown":false,"outdated":true,"stable":true},{"name":"maven-artifact","prod_key":"org.apache.maven/maven-artifact","group_id":"org.apache.maven","artifact_id":"maven-artifact","language":"java","version_current":"3.3.3","version_requested":"2.2.1","comparator":"=","unknown":false,"outdated":true,"stable":true},{"name":"aether-api","prod_key":"org.sonatype.aether/aether-api","group_id":"org.sonatype.aether","artifact_id":"aether-api","language":"java","version_current":"1.13.1","version_requested":"${aether.version}","comparator":"=","unknown":false,"outdated":true,"stable":true},{"name":"openejb-core","prod_key":"org.apache.openejb/openejb-core","group_id":"org.apache.openejb","artifact_id":"openejb-core","language":"java","version_current":"4.7.2","version_requested":"${openejb.version}","comparator":"=","unknown":false,"outdated":true,"stable":true},{"name":"openejb-client","prod_key":"org.apache.openejb/openejb-client","group_id":"org.apache.openejb","artifact_id":"openejb-client","language":"java","version_current":"4.7.2","version_requested":"${openejb.version}","comparator":"=","unknown":false,"outdated":true,"stable":true},{"name":"maven-plugin-plugin","prod_key":"org.apache.maven.plugins/maven-plugin-plugin","group_id":"org.apache.maven.plugins","artifact_id":"maven-plugin-plugin","language":"java","version_current":"3.4","version_requested":"3.1","comparator":"=","unknown":false,"outdated":true,"stable":true},{"name":"maven-plugin-plugin","prod_key":"org.apache.maven.plugins/maven-plugin-plugin","group_id":"org.apache.maven.plugins","artifact_id":"maven-plugin-plugin","language":"java","version_current":"3.4","version_requested":"3.0","comparator":"=","unknown":false,"outdated":true,"stable":true}]}'
|
102
|
+
http_version:
|
103
|
+
recorded_at: Sun, 19 Jul 2015 18:25:12 GMT
|
104
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,46 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://www.versioneye.com/api/v2/services/ping
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- "*/*; q=0.5, application/xml"
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip, deflate
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Server:
|
22
|
+
- nginx/1.4.6 (Ubuntu)
|
23
|
+
Date:
|
24
|
+
- Mon, 17 Aug 2015 16:35:41 GMT
|
25
|
+
Content-Type:
|
26
|
+
- application/json
|
27
|
+
Content-Length:
|
28
|
+
- '33'
|
29
|
+
Connection:
|
30
|
+
- keep-alive
|
31
|
+
Strict-Transport-Security:
|
32
|
+
- max-age=31536000
|
33
|
+
Etag:
|
34
|
+
- W/"a11f1444ce560d703c09ea68efefc054"
|
35
|
+
Cache-Control:
|
36
|
+
- max-age=0, private, must-revalidate
|
37
|
+
X-Request-Id:
|
38
|
+
- dc66866f-7d6f-41ae-8695-a827909396a5
|
39
|
+
X-Runtime:
|
40
|
+
- '0.056825'
|
41
|
+
body:
|
42
|
+
encoding: UTF-8
|
43
|
+
string: '{"success":true,"message":"pong"}'
|
44
|
+
http_version:
|
45
|
+
recorded_at: Mon, 17 Aug 2015 16:35:26 GMT
|
46
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,48 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://www.versioneye.com/api/v2/me/favorites?api_key=ba7d93beb5de7820764e&page=1
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- "*/*; q=0.5, application/xml"
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip, deflate
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Server:
|
22
|
+
- nginx/1.4.6 (Ubuntu)
|
23
|
+
Date:
|
24
|
+
- Mon, 17 Aug 2015 16:47:33 GMT
|
25
|
+
Content-Type:
|
26
|
+
- application/json
|
27
|
+
Content-Length:
|
28
|
+
- '3571'
|
29
|
+
Connection:
|
30
|
+
- keep-alive
|
31
|
+
Strict-Transport-Security:
|
32
|
+
- max-age=31536000
|
33
|
+
Set-Cookie:
|
34
|
+
- api_key=ba7d93beb5de7820764e; secure
|
35
|
+
Etag:
|
36
|
+
- W/"60e1d1db1644d4ab7e9b545ae10a8c63"
|
37
|
+
Cache-Control:
|
38
|
+
- max-age=0, private, must-revalidate
|
39
|
+
X-Request-Id:
|
40
|
+
- 80331924-fc96-4647-b1e8-f58422af816a
|
41
|
+
X-Runtime:
|
42
|
+
- '0.227053'
|
43
|
+
body:
|
44
|
+
encoding: UTF-8
|
45
|
+
string: '{"user":{"fullname":"Tim Gluz","username":"timgluz"},"favorites":[{"name":"h2","language":"java","prod_key":"com.h2database/h2","version":"1.4.188","prod_type":"Maven2"},{"name":"mallet","language":"java","prod_key":"cc.mallet/mallet","version":"2.0.7","prod_type":"Maven2"},{"name":"aws-java-sdk","language":"java","prod_key":"com.amazonaws/aws-java-sdk","version":"1.10.11","prod_type":"Maven2"},{"name":"clojure","language":"java","prod_key":"org.clojure/clojure","version":"1.7.0","prod_type":"Maven2"},{"name":"clojure-contrib","language":"java","prod_key":"org.clojure/clojure-contrib","version":"1.2.0","prod_type":"Maven2"},{"name":"data.json","language":"java","prod_key":"org.clojure/data.json","version":"0.2.6","prod_type":"Maven2"},{"name":"tools.logging","language":"java","prod_key":"org.clojure/tools.logging","version":"0.3.1","prod_type":"Maven2"},{"name":"tools.namespace","language":"java","prod_key":"org.clojure/tools.namespace","version":"0.2.11","prod_type":"Maven2"},{"name":"tools.nrepl","language":"java","prod_key":"org.clojure/tools.nrepl","version":"0.2.10","prod_type":"Maven2"},{"name":"neo4j","language":"java","prod_key":"org.neo4j/neo4j","version":"2.2.4","prod_type":"Maven2"},{"name":"core.match","language":"java","prod_key":"org.clojure/core.match","version":"0.2.2","prod_type":"Maven2"},{"name":"data.codec","language":"java","prod_key":"org.clojure/data.codec","version":"0.1.0","prod_type":"Maven2"},{"name":"data.csv","language":"java","prod_key":"org.clojure/data.csv","version":"0.1.3","prod_type":"Maven2"},{"name":"data.zip","language":"java","prod_key":"org.clojure/data.zip","version":"0.1.1","prod_type":"Maven2"},{"name":"tools.cli","language":"java","prod_key":"org.clojure/tools.cli","version":"0.3.2","prod_type":"Maven2"},{"name":"lenskit","language":"java","prod_key":"org.grouplens.lenskit/lenskit","version":"2.0.5","prod_type":"Maven2"},{"name":"clojurescript","language":"java","prod_key":"org.clojure/clojurescript","version":"1.7.107","prod_type":"Maven2"},{"name":"google-closure-library","language":"java","prod_key":"org.clojure/google-closure-library","version":"0.0-20140226-71326067","prod_type":"Maven2"},{"name":"actionmailer","language":"ruby","prod_key":"actionmailer","version":"4.2.3","prod_type":"RubyGem"},{"name":"agent","language":"ruby","prod_key":"agent","version":"0.11.0","prod_type":"RubyGem"},{"name":"ar-octopus","language":"ruby","prod_key":"ar-octopus","version":"0.8.5","prod_type":"RubyGem"},{"name":"aspector","language":"ruby","prod_key":"aspector","version":"0.14.0","prod_type":"RubyGem"},{"name":"aws-s3","language":"ruby","prod_key":"aws-s3","version":"0.6.3","prod_type":"RubyGem"},{"name":"bunny","language":"ruby","prod_key":"bunny","version":"2.1.0","prod_type":"RubyGem"},{"name":"command_line_reporter","language":"ruby","prod_key":"command_line_reporter","version":"3.3.5","prod_type":"RubyGem"},{"name":"coreaudio","language":"ruby","prod_key":"coreaudio","version":"0.0.11","prod_type":"RubyGem"},{"name":"delayed_job","language":"ruby","prod_key":"delayed_job","version":"4.0.6","prod_type":"RubyGem"},{"name":"delayed_job_active_record","language":"ruby","prod_key":"delayed_job_active_record","version":"4.0.3","prod_type":"RubyGem"},{"name":"delayed_job_mongoid","language":"ruby","prod_key":"delayed_job_mongoid","version":"2.1.0","prod_type":"RubyGem"},{"name":"exception_notification","language":"ruby","prod_key":"exception_notification","version":"4.1.1","prod_type":"RubyGem"}],"paging":{"current_page":1,"per_page":30,"total_pages":9,"total_entries":248}}'
|
46
|
+
http_version:
|
47
|
+
recorded_at: Mon, 17 Aug 2015 16:47:18 GMT
|
48
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,48 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://www.versioneye.com/api/v2/me?api_key=ba7d93beb5de7820764e
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- "*/*; q=0.5, application/xml"
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip, deflate
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Server:
|
22
|
+
- nginx/1.4.6 (Ubuntu)
|
23
|
+
Date:
|
24
|
+
- Mon, 17 Aug 2015 16:47:33 GMT
|
25
|
+
Content-Type:
|
26
|
+
- application/json
|
27
|
+
Content-Length:
|
28
|
+
- '184'
|
29
|
+
Connection:
|
30
|
+
- keep-alive
|
31
|
+
Strict-Transport-Security:
|
32
|
+
- max-age=31536000
|
33
|
+
Set-Cookie:
|
34
|
+
- api_key=ba7d93beb5de7820764e; secure
|
35
|
+
Etag:
|
36
|
+
- W/"e3978848908037875a8f9d6c762f70d6"
|
37
|
+
Cache-Control:
|
38
|
+
- max-age=0, private, must-revalidate
|
39
|
+
X-Request-Id:
|
40
|
+
- a972c5e1-9122-4ad7-83a0-d11910650926
|
41
|
+
X-Runtime:
|
42
|
+
- '0.125682'
|
43
|
+
body:
|
44
|
+
encoding: UTF-8
|
45
|
+
string: '{"fullname":"Tim Gluz","username":"timgluz","email":"timgluz@gmail.com","admin":false,"deleted_user":false,"notifications":{"new":0,"total":1767},"enterprise_projects":1,"active":true}'
|
46
|
+
http_version:
|
47
|
+
recorded_at: Mon, 17 Aug 2015 16:47:19 GMT
|
48
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class GithubDeleteTest < Minitest::Test
|
4
|
+
def setup
|
5
|
+
init_environment
|
6
|
+
@api_key = 'ba7d93beb5de7820764e'
|
7
|
+
@repo_name = 'versioneye/veye'
|
8
|
+
@branch = "master"
|
9
|
+
@opts = {branch: @branch}
|
10
|
+
|
11
|
+
import_project
|
12
|
+
end
|
13
|
+
|
14
|
+
def import_project
|
15
|
+
#import project before testing
|
16
|
+
VCR.use_cassette('github_import') do
|
17
|
+
res = Veye::API::Github.import_repo(@api_key, @repo_name, @branch, 'Gemfile.locl')
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_delete_default
|
22
|
+
VCR.use_cassette('github_delete') do
|
23
|
+
res = capture_stdout do
|
24
|
+
Veye::Github::Delete.delete_repo(@api_key, @repo_name, @opts)
|
25
|
+
end
|
26
|
+
|
27
|
+
refute_nil res, "No command output"
|
28
|
+
assert_equal "\e[32mDeleted\n\e[0m", res
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,94 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
require 'csv'
|
3
|
+
|
4
|
+
class GithubImportTest < Minitest::Test
|
5
|
+
def setup
|
6
|
+
init_environment
|
7
|
+
@api_key = 'ba7d93beb5de7820764e'
|
8
|
+
@repo_name = 'versioneye/veye'
|
9
|
+
@branch = "master"
|
10
|
+
@file = "Gemfile.lock"
|
11
|
+
|
12
|
+
@opts = {
|
13
|
+
file: @file,
|
14
|
+
branch: @branch
|
15
|
+
}
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_import_default
|
19
|
+
VCR.use_cassette('github_import') do
|
20
|
+
res = capture_stdout do
|
21
|
+
Veye::Github::Import.import_repo(@api_key, @repo_name, @opts)
|
22
|
+
end
|
23
|
+
|
24
|
+
refute_nil res, "Command output was nil"
|
25
|
+
rows = res.split(/\n/)
|
26
|
+
assert_equal "\t\e[32mversioneye/veye\e[0m - \e[1mruby\e[0m", rows[0]
|
27
|
+
assert_equal "\tDescription : VersionEye command line tool ", rows[1]
|
28
|
+
assert_equal "\tOwner login : versioneye", rows[2]
|
29
|
+
assert_equal "\tOwner type : organization", rows[3]
|
30
|
+
assert_equal "\tPrivate : false", rows[4]
|
31
|
+
assert_equal "\tFork : false", rows[5]
|
32
|
+
assert_equal "\tBranches : ", rows[6]
|
33
|
+
assert_equal "\tImported : rubygem_versioneye_veye_1", rows[7]
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_import_csv
|
38
|
+
VCR.use_cassette('github_import') do
|
39
|
+
res = capture_stdout do
|
40
|
+
Veye::Github::Import.import_repo(@api_key, @repo_name, @opts.merge({format: 'csv'}))
|
41
|
+
end
|
42
|
+
|
43
|
+
refute_nil res, "Command output was nil"
|
44
|
+
dt = CSV.parse(res)
|
45
|
+
assert_equal ["name", "language", "owner_login", "owner_type", "private", "fork", "branches", "imported_projects", "description"], dt[0]
|
46
|
+
assert_equal ["versioneye/veye", "ruby", "versioneye", "organization", "false"], dt[1].take(5)
|
47
|
+
assert_equal ["false", nil, "rubygem_versioneye_veye_1", "VersionEye command line tool "], dt[1].drop(5)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
def test_import_json
|
52
|
+
VCR.use_cassette('github_import') do
|
53
|
+
res = capture_stdout do
|
54
|
+
Veye::Github::Import.import_repo(@api_key, @repo_name, @opts.merge({format: 'json'}))
|
55
|
+
end
|
56
|
+
|
57
|
+
refute_nil res, "No command output"
|
58
|
+
dt = JSON.parse(res)
|
59
|
+
repo = dt["repo"]
|
60
|
+
assert_equal "veye", repo["name"]
|
61
|
+
assert_equal "versioneye/veye", repo["fullname"]
|
62
|
+
assert_equal "ruby", repo["language"]
|
63
|
+
assert_equal "versioneye", repo["owner_login"]
|
64
|
+
assert_equal "organization", repo["owner_type"]
|
65
|
+
assert_equal false, repo["private"]
|
66
|
+
assert_equal false, repo["fork"]
|
67
|
+
assert_equal nil, repo["branches"]
|
68
|
+
|
69
|
+
refute_nil dt["projects"]
|
70
|
+
project = dt["projects"].first
|
71
|
+
assert_equal "rubygem_versioneye_veye_1", project["project_key"]
|
72
|
+
assert_equal "versioneye/veye", project["name"]
|
73
|
+
assert_equal "RubyGem", project["project_type"]
|
74
|
+
assert_equal true, project["public"]
|
75
|
+
assert_equal "github", project["source"]
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
def test_import_table
|
80
|
+
VCR.use_cassette('github_import') do
|
81
|
+
res = capture_stdout do
|
82
|
+
Veye::Github::Import.import_repo(@api_key, @repo_name, @opts.merge({format: 'table'}))
|
83
|
+
end
|
84
|
+
|
85
|
+
refute_nil res, "No command output"
|
86
|
+
rows = res.split(/\n/)
|
87
|
+
assert_match(/\|\s+Repository information\s+\|/, rows[1])
|
88
|
+
assert_match(/\| name\s+\| language \| owner_login \| owner_type\s+\| private \| fork\s+\|/ , rows[3])
|
89
|
+
assert_match(/branches \| imported_projects\s+\| description\s+\|/, rows[3])
|
90
|
+
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
|
+
end
|
93
|
+
end
|
94
|
+
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
require 'csv'
|
3
|
+
|
4
|
+
class GithubInfoTest < Minitest::Test
|
5
|
+
def setup
|
6
|
+
init_environment
|
7
|
+
@api_key = 'ba7d93beb5de7820764e'
|
8
|
+
@repo_name = 'versioneye/veye'
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_get_repo_default
|
12
|
+
VCR.use_cassette('github_info') do
|
13
|
+
output = capture_stdout do
|
14
|
+
Veye::Github::Info.get_repo(@api_key, @repo_name, {})
|
15
|
+
end
|
16
|
+
|
17
|
+
refute_nil output
|
18
|
+
rows = output.split(/\n/)
|
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]
|
21
|
+
assert_equal "\tOwner login : versioneye", rows[2]
|
22
|
+
assert_equal "\tOwner type : organization", rows[3]
|
23
|
+
assert_equal "\tPrivate : false", rows[4]
|
24
|
+
assert_equal "\tFork : false", rows[5]
|
25
|
+
assert_equal "\tBranches : master, references", rows[6]
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_get_repo_csv
|
30
|
+
VCR.use_cassette('github_info') do
|
31
|
+
output = capture_stdout do
|
32
|
+
Veye::Github::Info.get_repo(@api_key, @repo_name, {format: 'csv'})
|
33
|
+
end
|
34
|
+
|
35
|
+
refute nil, output
|
36
|
+
rows = CSV.parse(output)
|
37
|
+
assert_equal ["name", "language", "owner_login", "owner_type", "private", "fork", "branches", "imported_projects", "description"], rows[0]
|
38
|
+
assert_equal ["versioneye/veye", "ruby", "versioneye", "organization", "false", "false", "master|references", nil, "VersionEye command line tool "], rows[1]
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
def test_get_repo_json
|
43
|
+
VCR.use_cassette('github_info') do
|
44
|
+
output = capture_stdout do
|
45
|
+
Veye::Github::Info.get_repo(@api_key, @repo_name, {format: 'json'})
|
46
|
+
end
|
47
|
+
|
48
|
+
refute nil, output
|
49
|
+
dt = JSON.parse(output)
|
50
|
+
repo = dt["repo"]
|
51
|
+
assert_equal "versioneye/veye", repo["fullname"]
|
52
|
+
assert_equal "ruby", repo["language"]
|
53
|
+
assert_equal "versioneye", repo["owner_login"]
|
54
|
+
assert_equal "organization", repo["owner_type"]
|
55
|
+
assert_equal false, repo["private"]
|
56
|
+
assert_equal false, repo["fork"]
|
57
|
+
assert_equal ["master", "references"], repo["branches"]
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
def test_get_repo_table
|
62
|
+
VCR.use_cassette('github_info') do
|
63
|
+
output = capture_stdout do
|
64
|
+
Veye::Github::Info.get_repo(@api_key, @repo_name, {format: 'table'})
|
65
|
+
end
|
66
|
+
|
67
|
+
refute nil, output
|
68
|
+
rows = output.split(/\n/)
|
69
|
+
assert_equal "| name | language | owner_login | owner_type | private | fork | branches | imported_projects | description |", rows[3]
|
70
|
+
assert_equal "| versioneye/veye | ruby | versioneye | organization | false | false | master | | VersionEye command line tool |", rows[5]
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
@@ -0,0 +1,84 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
require 'csv'
|
3
|
+
|
4
|
+
class GithubListTest < Minitest::Test
|
5
|
+
def setup
|
6
|
+
init_environment
|
7
|
+
@api_key = 'ba7d93beb5de7820764e'
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_get_list_default
|
11
|
+
VCR.use_cassette('github_list') do
|
12
|
+
output = capture_stdout do
|
13
|
+
Veye::Github::List.get_list(@api_key, {})
|
14
|
+
end
|
15
|
+
|
16
|
+
refute_nil output
|
17
|
+
rows = output.split(/\n/)
|
18
|
+
assert_equal " 1 - \e[32m\e[1mversioneye_update\e[0m", rows[0]
|
19
|
+
assert_equal "\tLanguage : shell", rows[1]
|
20
|
+
assert_equal "\tOwner name : versioneye", rows[2]
|
21
|
+
assert_equal "\tOwner type : organization", rows[3]
|
22
|
+
assert_equal "\tPrivate : false", rows[4]
|
23
|
+
assert_equal "\tFork : false", rows[5]
|
24
|
+
assert_equal "\tBranches : ", rows[6]
|
25
|
+
assert_match(/\tDescription\s+:\s+\w+/, rows[7])
|
26
|
+
assert_equal "\tImported : ", rows[8]
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_get_list_csv
|
31
|
+
VCR.use_cassette('github_list') do
|
32
|
+
output = capture_stdout do
|
33
|
+
Veye::Github::List.get_list(@api_key, {format: 'csv'})
|
34
|
+
end
|
35
|
+
|
36
|
+
refute_nil output
|
37
|
+
rows = CSV.parse(output)
|
38
|
+
assert_equal ["nr", "fullname", "language", "owner_login", "owner_type"], rows[0].take(5)
|
39
|
+
assert_equal ["private", "fork", "branches", "imported", "description"], rows[0].drop(5)
|
40
|
+
|
41
|
+
assert_equal ["1", "versioneye/versioneye_update", "shell", "versioneye", "organization"], rows[1].take(5)
|
42
|
+
assert_equal ["false", "false", nil, nil, "Update an existing project at VersionEye via the API with CURL"], rows[1].drop(5)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def test_get_list_json
|
47
|
+
VCR.use_cassette('github_list') do
|
48
|
+
output = capture_stdout do
|
49
|
+
Veye::Github::List.get_list(@api_key, {format: 'json'})
|
50
|
+
end
|
51
|
+
|
52
|
+
refute_nil output
|
53
|
+
dt = JSON.parse(output)
|
54
|
+
item = dt["repos"][0]
|
55
|
+
assert_equal "versioneye_update", item["name"]
|
56
|
+
assert_equal "shell", item["language"]
|
57
|
+
assert_equal "versioneye", item["owner_login"]
|
58
|
+
assert_equal "organization", item["owner_type"]
|
59
|
+
assert_equal false, item["private"]
|
60
|
+
assert_equal false, item["fork"]
|
61
|
+
assert_equal nil, item["branches"]
|
62
|
+
assert_equal nil, item["imported"]
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
def test_get_list_table
|
67
|
+
VCR.use_cassette('github_list') do
|
68
|
+
output = capture_stdout do
|
69
|
+
Veye::Github::List.get_list(@api_key, {format: 'table'})
|
70
|
+
end
|
71
|
+
|
72
|
+
refute_nil output
|
73
|
+
rows = output.split(/\n/)
|
74
|
+
assert_match /\A\+\-.*/, rows[0]
|
75
|
+
assert_match( /\| index \| fullname\s+\| language\s+\| owner_login\s+/, rows[3])
|
76
|
+
assert_match(/\| owner_type\s+\| private \| fork\s+\| branches \| imported \|/,
|
77
|
+
rows[3])
|
78
|
+
|
79
|
+
assert_match(/ 1\s+\| versioneye\/versioneye_update\s+\| shell\s+\|/, rows[5])
|
80
|
+
assert_match(/\| versioneye\s+\| organization\s+\| false\s+\| false \|\s+\|\s+\|/, rows[5])
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class GithubSyncTest < Minitest::Test
|
4
|
+
def setup
|
5
|
+
init_environment # load config files and initialize options
|
6
|
+
@api_key = 'ba7d93beb5de7820764e'
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_sync_when_success
|
10
|
+
VCR.use_cassette('github_sync') do
|
11
|
+
output = capture_stdout do
|
12
|
+
Veye::Github::Sync.import_all(@api_key, {})
|
13
|
+
end
|
14
|
+
|
15
|
+
refute_nil output
|
16
|
+
expected_str = "\e[31mNo changes.\e[0m - Use `force` flag if you want to reload everything.\n"
|
17
|
+
assert_equal expected_str, output
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class PackageFollowTest < MiniTest::Test
|
4
|
+
def setup
|
5
|
+
init_environment
|
6
|
+
@api_key = "ba7d93beb5de7820764e"
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_get_follow_status
|
10
|
+
VCR.use_cassette('package_follow_status') do
|
11
|
+
out = capture_stdout do
|
12
|
+
Veye::Package::Follow.get_follow_status('ruby/ruby', @api_key)
|
13
|
+
end
|
14
|
+
expected = "Following `ruby`: \e[32mfalse\e[0m\n"
|
15
|
+
assert_equal expected, out
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_follow
|
20
|
+
VCR.use_cassette('package_follow') do
|
21
|
+
out = capture_stdout do
|
22
|
+
Veye::Package::Follow.follow('ruby/ruby', @api_key)
|
23
|
+
end
|
24
|
+
expected = "Following `ruby`: \e[32mtrue\e[0m\n"
|
25
|
+
assert_equal expected, out
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_unfollow
|
30
|
+
VCR.use_cassette('package_unfollow') do
|
31
|
+
out = capture_stdout do
|
32
|
+
Veye::Package::Follow.unfollow('ruby/ruby', @api_key)
|
33
|
+
end
|
34
|
+
expected = "Following `ruby`: \e[32mfalse\e[0m\n"
|
35
|
+
assert_equal expected, out
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|