rlaunchpadlib 0.0.1
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 +7 -0
- data/.gitignore +22 -0
- data/.rspec +3 -0
- data/.travis.yml +4 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +44 -0
- data/Rakefile +6 -0
- data/lib/rlaunchpadlib.rb +9 -0
- data/lib/rlaunchpadlib/client.rb +26 -0
- data/lib/rlaunchpadlib/person.rb +96 -0
- data/lib/rlaunchpadlib/project.rb +81 -0
- data/lib/rlaunchpadlib/project_group.rb +43 -0
- data/lib/rlaunchpadlib/version.rb +3 -0
- data/rlaunchpadlib.gemspec +28 -0
- data/spec/cassettes/client_get.yml +376 -0
- data/spec/cassettes/person.yml +80 -0
- data/spec/cassettes/person_archivesubscriptions.yml +52 -0
- data/spec/cassettes/person_branches.yml +822 -0
- data/spec/cassettes/person_bug_subscriber_packages.yml +48 -0
- data/spec/cassettes/person_bugs.yml +1088 -0
- data/spec/cassettes/person_merge_proposals.yml +101 -0
- data/spec/cassettes/person_requested_reviews.yml +180 -0
- data/spec/cassettes/project.yml +119 -0
- data/spec/cassettes/project_branches.yml +1931 -0
- data/spec/cassettes/project_bugs.yml +1027 -0
- data/spec/cassettes/project_group.yml +71 -0
- data/spec/cassettes/project_group_branches.yml +1985 -0
- data/spec/cassettes/project_group_bugs.yml +1068 -0
- data/spec/cassettes/project_group_merges.yml +317 -0
- data/spec/cassettes/project_merge_proposals.yml +1905 -0
- data/spec/cassettes/project_subscriptions.yml +48 -0
- data/spec/cassettes/project_timeline.yml +164 -0
- data/spec/rlaunchpadlib/lib/client_spec.rb +28 -0
- data/spec/rlaunchpadlib/lib/person_spec.rb +147 -0
- data/spec/rlaunchpadlib/lib/project_group_spec.rb +93 -0
- data/spec/rlaunchpadlib/lib/project_spec.rb +146 -0
- data/spec/spec_helper.rb +31 -0
- metadata +202 -0
@@ -0,0 +1,48 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.launchpad.net/1.0/bzr/?ws.op=getSubscriptions
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers: {}
|
10
|
+
response:
|
11
|
+
status:
|
12
|
+
code: 200
|
13
|
+
message: OK
|
14
|
+
headers:
|
15
|
+
Date:
|
16
|
+
- Sun, 18 May 2014 23:49:05 GMT
|
17
|
+
Server:
|
18
|
+
- zope.server.http (HTTP)
|
19
|
+
X-Powered-By:
|
20
|
+
- Zope (www.zope.org), Python (www.python.org)
|
21
|
+
Content-Length:
|
22
|
+
- '45'
|
23
|
+
X-Xss-Protection:
|
24
|
+
- 1; mode=block
|
25
|
+
X-Content-Type-Options:
|
26
|
+
- nosniff
|
27
|
+
Strict-Transport-Security:
|
28
|
+
- max-age=15552000
|
29
|
+
Vary:
|
30
|
+
- Accept,Accept-Encoding
|
31
|
+
X-Frame-Options:
|
32
|
+
- SAMEORIGIN
|
33
|
+
X-Lazr-Notifications:
|
34
|
+
- "[]"
|
35
|
+
Content-Type:
|
36
|
+
- application/json
|
37
|
+
X-Cache:
|
38
|
+
- MISS from nutmeg.canonical.com
|
39
|
+
X-Cache-Lookup:
|
40
|
+
- MISS from nutmeg.canonical.com:3128
|
41
|
+
Via:
|
42
|
+
- 1.0 nutmeg.canonical.com:3128 (squid/2.7.STABLE7)
|
43
|
+
body:
|
44
|
+
encoding: UTF-8
|
45
|
+
string: '{"total_size": 24, "start": 0, "entries": []}'
|
46
|
+
http_version:
|
47
|
+
recorded_at: Sun, 18 May 2014 23:49:09 GMT
|
48
|
+
recorded_with: VCR 2.9.0
|
@@ -0,0 +1,164 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.launchpad.net/1.0/bzr/?ws.op=get_timeline
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers: {}
|
10
|
+
response:
|
11
|
+
status:
|
12
|
+
code: 200
|
13
|
+
message: OK
|
14
|
+
headers:
|
15
|
+
Date:
|
16
|
+
- Sun, 18 May 2014 23:49:06 GMT
|
17
|
+
Server:
|
18
|
+
- zope.server.http (HTTP)
|
19
|
+
X-Powered-By:
|
20
|
+
- Zope (www.zope.org), Python (www.python.org)
|
21
|
+
Content-Length:
|
22
|
+
- '9687'
|
23
|
+
X-Xss-Protection:
|
24
|
+
- 1; mode=block
|
25
|
+
X-Content-Type-Options:
|
26
|
+
- nosniff
|
27
|
+
Strict-Transport-Security:
|
28
|
+
- max-age=15552000
|
29
|
+
Vary:
|
30
|
+
- Accept,Accept-Encoding
|
31
|
+
X-Frame-Options:
|
32
|
+
- SAMEORIGIN
|
33
|
+
X-Lazr-Notifications:
|
34
|
+
- "[]"
|
35
|
+
Content-Type:
|
36
|
+
- application/json
|
37
|
+
X-Cache:
|
38
|
+
- MISS from banana.canonical.com
|
39
|
+
X-Cache-Lookup:
|
40
|
+
- MISS from banana.canonical.com:3128
|
41
|
+
Via:
|
42
|
+
- 1.0 banana.canonical.com:3128 (squid/2.7.STABLE7)
|
43
|
+
body:
|
44
|
+
encoding: UTF-8
|
45
|
+
string: '{"total_size": 8, "start": 0, "entries": [{"status": "Active Development",
|
46
|
+
"name": "trunk", "landmarks": [], "web_link": "https://launchpad.net/bzr/trunk",
|
47
|
+
"project_link": "https://api.launchpad.net/1.0/bzr", "uri": "/bzr/trunk",
|
48
|
+
"http_etag": "\"da39a3ee5e6b4b0d3255bfef95601890afd80709-b539276efa6a714d7d7e040025959b4862aa1c1f\"",
|
49
|
+
"self_link": "https://api.launchpad.net/1.0/bzr/trunk", "resource_type_link":
|
50
|
+
"https://api.launchpad.net/1.0/#timeline_project_series", "is_development_focus":
|
51
|
+
true}, {"status": "Active Development", "name": "2.7", "landmarks": [{"date":
|
52
|
+
null, "type": "milestone", "uri": "/bzr/+milestone/2.7b1", "code_name": "",
|
53
|
+
"name": "2.7b1"}], "web_link": "https://launchpad.net/bzr/2.7", "project_link":
|
54
|
+
"https://api.launchpad.net/1.0/bzr", "uri": "/bzr/2.7", "http_etag": "\"da39a3ee5e6b4b0d3255bfef95601890afd80709-9ecbabafe8e828ba314b78fa690010d234c0837a\"",
|
55
|
+
"self_link": "https://api.launchpad.net/1.0/bzr/2.7", "resource_type_link":
|
56
|
+
"https://api.launchpad.net/1.0/#timeline_project_series", "is_development_focus":
|
57
|
+
false}, {"status": "Current Stable Release", "name": "2.6", "landmarks": [{"date":
|
58
|
+
null, "type": "milestone", "uri": "/bzr/+milestone/2.6.1", "code_name": "",
|
59
|
+
"name": "2.6.1"}, {"date": "2013-07-27", "type": "release", "uri": "/bzr/2.6/2.6.0",
|
60
|
+
"code_name": null, "name": "2.6.0"}, {"date": "2012-07-10", "type": "release",
|
61
|
+
"uri": "/bzr/2.6/2.6b2", "code_name": null, "name": "2.6b2"}, {"date": "2012-03-15",
|
62
|
+
"type": "release", "uri": "/bzr/2.6/2.6b1", "code_name": null, "name": "2.6b1"}],
|
63
|
+
"web_link": "https://launchpad.net/bzr/2.6", "project_link": "https://api.launchpad.net/1.0/bzr",
|
64
|
+
"uri": "/bzr/2.6", "http_etag": "\"da39a3ee5e6b4b0d3255bfef95601890afd80709-98d0078a7ae609a00c3af19236b2e9e8f525aba6\"",
|
65
|
+
"self_link": "https://api.launchpad.net/1.0/bzr/2.6", "resource_type_link":
|
66
|
+
"https://api.launchpad.net/1.0/#timeline_project_series", "is_development_focus":
|
67
|
+
false}, {"status": "Pre-release Freeze", "name": "2.5", "landmarks": [{"date":
|
68
|
+
null, "type": "milestone", "uri": "/bzr/+milestone/2.5.2", "code_name": "",
|
69
|
+
"name": "2.5.2"}, {"date": "2012-05-22", "type": "release", "uri": "/bzr/2.5/2.5.1",
|
70
|
+
"code_name": null, "name": "2.5.1"}, {"date": "2012-02-24", "type": "release",
|
71
|
+
"uri": "/bzr/2.5/2.5.0", "code_name": "Phillip", "name": "2.5.0"}, {"date":
|
72
|
+
"2012-02-03", "type": "release", "uri": "/bzr/2.5/2.5b6", "code_name": "",
|
73
|
+
"name": "2.5b6"}, {"date": "2012-01-16", "type": "release", "uri": "/bzr/2.5/2.5b5",
|
74
|
+
"code_name": null, "name": "2.5b5"}, {"date": "2011-12-08", "type": "release",
|
75
|
+
"uri": "/bzr/2.5/2.5b4", "code_name": null, "name": "2.5b4"}, {"date": "2011-11-10",
|
76
|
+
"type": "release", "uri": "/bzr/2.5/2.5b3", "code_name": null, "name": "2.5b3"},
|
77
|
+
{"date": "2011-10-06", "type": "release", "uri": "/bzr/2.5/2.5b2", "code_name":
|
78
|
+
null, "name": "2.5b2"}, {"date": "2011-09-15", "type": "release", "uri": "/bzr/2.5/2.5b1",
|
79
|
+
"code_name": null, "name": "2.5b1"}], "web_link": "https://launchpad.net/bzr/2.5",
|
80
|
+
"project_link": "https://api.launchpad.net/1.0/bzr", "uri": "/bzr/2.5", "http_etag":
|
81
|
+
"\"da39a3ee5e6b4b0d3255bfef95601890afd80709-1ddb86305d877e076c3250b5ab59834527877530\"",
|
82
|
+
"self_link": "https://api.launchpad.net/1.0/bzr/2.5", "resource_type_link":
|
83
|
+
"https://api.launchpad.net/1.0/#timeline_project_series", "is_development_focus":
|
84
|
+
false}, {"status": "Current Stable Release", "name": "2.4", "landmarks": [{"date":
|
85
|
+
null, "type": "milestone", "uri": "/bzr/+milestone/2.4.3", "code_name": null,
|
86
|
+
"name": "2.4.3"}, {"date": "2011-10-27", "type": "release", "uri": "/bzr/2.4/2.4.2",
|
87
|
+
"code_name": null, "name": "2.4.2"}, {"date": "2011-09-08", "type": "release",
|
88
|
+
"uri": "/bzr/2.4/2.4.1", "code_name": null, "name": "2.4.1"}, {"date": "2011-08-11",
|
89
|
+
"type": "release", "uri": "/bzr/2.4/2.4.0", "code_name": "Oronsay", "name":
|
90
|
+
"2.4.0"}, {"date": "2011-07-07", "type": "release", "uri": "/bzr/2.4/2.4b5",
|
91
|
+
"code_name": "", "name": "2.4b5"}, {"date": "2011-06-16", "type": "release",
|
92
|
+
"uri": "/bzr/2.4/2.4b4", "code_name": null, "name": "2.4b4"}, {"date": "2011-05-26",
|
93
|
+
"type": "release", "uri": "/bzr/2.4/2.4b3", "code_name": null, "name": "2.4b3"},
|
94
|
+
{"date": "2011-04-28", "type": "release", "uri": "/bzr/2.4/2.4b2", "code_name":
|
95
|
+
null, "name": "2.4b2"}, {"date": "2011-03-17", "type": "release", "uri": "/bzr/2.4/2.4b1",
|
96
|
+
"code_name": null, "name": "2.4b1"}], "web_link": "https://launchpad.net/bzr/2.4",
|
97
|
+
"project_link": "https://api.launchpad.net/1.0/bzr", "uri": "/bzr/2.4", "http_etag":
|
98
|
+
"\"da39a3ee5e6b4b0d3255bfef95601890afd80709-1c5ad0c5dbba93fa6251940f6687c16b8045108f\"",
|
99
|
+
"self_link": "https://api.launchpad.net/1.0/bzr/2.4", "resource_type_link":
|
100
|
+
"https://api.launchpad.net/1.0/#timeline_project_series", "is_development_focus":
|
101
|
+
false}, {"status": "Supported", "name": "2.3", "landmarks": [{"date": null,
|
102
|
+
"type": "milestone", "uri": "/bzr/+milestone/2.3.5", "code_name": null, "name":
|
103
|
+
"2.3.5"}, {"date": "2011-07-14", "type": "release", "uri": "/bzr/2.3/2.3.4",
|
104
|
+
"code_name": "One and counting", "name": "2.3.4"}, {"date": "2011-05-13",
|
105
|
+
"type": "release", "uri": "/bzr/2.3/2.3.3", "code_name": "", "name": "2.3.3"},
|
106
|
+
{"date": "2011-05-11", "type": "release", "uri": "/bzr/2.3/2.3.2", "code_name":
|
107
|
+
null, "name": "2.3.2"}, {"date": "2011-03-10", "type": "release", "uri": "/bzr/2.3/2.3.1",
|
108
|
+
"code_name": null, "name": "2.3.1"}, {"date": "2011-02-03", "type": "release",
|
109
|
+
"uri": "/bzr/2.3/2.3.0", "code_name": "Dallas", "name": "2.3.0"}, {"date":
|
110
|
+
"2011-01-13", "type": "release", "uri": "/bzr/2.3/2.3b5", "code_name": null,
|
111
|
+
"name": "2.3b5"}, {"date": "2010-12-02", "type": "release", "uri": "/bzr/2.3/2.3b4",
|
112
|
+
"code_name": null, "name": "2.3b4"}, {"date": "2010-11-05", "type": "release",
|
113
|
+
"uri": "/bzr/2.3/2.3b3", "code_name": null, "name": "2.3b3"}, {"date": "2010-10-08",
|
114
|
+
"type": "release", "uri": "/bzr/2.3/2.3b2", "code_name": null, "name": "2.3b2"},
|
115
|
+
{"date": "2010-09-19", "type": "release", "uri": "/bzr/2.3/2.3b1", "code_name":
|
116
|
+
null, "name": "2.3b1"}], "web_link": "https://launchpad.net/bzr/2.3", "project_link":
|
117
|
+
"https://api.launchpad.net/1.0/bzr", "uri": "/bzr/2.3", "http_etag": "\"da39a3ee5e6b4b0d3255bfef95601890afd80709-ca5ae70735694925783e67c0004970b16605310d\"",
|
118
|
+
"self_link": "https://api.launchpad.net/1.0/bzr/2.3", "resource_type_link":
|
119
|
+
"https://api.launchpad.net/1.0/#timeline_project_series", "is_development_focus":
|
120
|
+
false}, {"status": "Supported", "name": "2.2", "landmarks": [{"date": null,
|
121
|
+
"type": "milestone", "uri": "/bzr/+milestone/2.2.6", "code_name": null, "name":
|
122
|
+
"2.2.6"}, {"date": "2011-09-02", "type": "release", "uri": "/bzr/2.2/2.2.5",
|
123
|
+
"code_name": null, "name": "2.2.5"}, {"date": "2011-02-04", "type": "release",
|
124
|
+
"uri": "/bzr/2.2/2.2.4", "code_name": "", "name": "2.2.4"}, {"date": "2011-01-20",
|
125
|
+
"type": "release", "uri": "/bzr/2.2/2.2.3", "code_name": "", "name": "2.2.3"},
|
126
|
+
{"date": "2010-11-25", "type": "release", "uri": "/bzr/2.2/2.2.2", "code_name":
|
127
|
+
"", "name": "2.2.2"}, {"date": "2010-09-17", "type": "release", "uri": "/bzr/2.2/2.2.1",
|
128
|
+
"code_name": null, "name": "2.2.1"}, {"date": "2010-08-06", "type": "release",
|
129
|
+
"uri": "/bzr/2.2/2.2.0", "code_name": "La Hulpe", "name": "2.2.0"}, {"date":
|
130
|
+
"2010-07-09", "type": "release", "uri": "/bzr/2.2/2.2b4", "code_name": null,
|
131
|
+
"name": "2.2b4"}, {"date": "2010-05-27", "type": "release", "uri": "/bzr/2.2/2.2b3",
|
132
|
+
"code_name": null, "name": "2.2b3"}, {"date": "2010-04-15", "type": "release",
|
133
|
+
"uri": "/bzr/2.2/2.2b2", "code_name": null, "name": "2.2b2"}, {"date": "2010-04-01",
|
134
|
+
"type": "release", "uri": "/bzr/2.2/2.2b1", "code_name": null, "name": "2.2b1"}],
|
135
|
+
"web_link": "https://launchpad.net/bzr/2.2", "project_link": "https://api.launchpad.net/1.0/bzr",
|
136
|
+
"uri": "/bzr/2.2", "http_etag": "\"da39a3ee5e6b4b0d3255bfef95601890afd80709-ce9e5a2180eecc131de29b50f8e7d0a4b45918be\"",
|
137
|
+
"self_link": "https://api.launchpad.net/1.0/bzr/2.2", "resource_type_link":
|
138
|
+
"https://api.launchpad.net/1.0/#timeline_project_series", "is_development_focus":
|
139
|
+
false}, {"status": "Supported", "name": "2.1", "landmarks": [{"date": null,
|
140
|
+
"type": "milestone", "uri": "/bzr/+milestone/2.1.5", "code_name": null, "name":
|
141
|
+
"2.1.5"}, {"date": "2011-05-16", "type": "release", "uri": "/bzr/2.1/2.1.4",
|
142
|
+
"code_name": null, "name": "2.1.4"}, {"date": "2010-09-16", "type": "release",
|
143
|
+
"uri": "/bzr/2.1/2.1.3", "code_name": null, "name": "2.1.3"}, {"date": "2010-05-27",
|
144
|
+
"type": "release", "uri": "/bzr/2.1/2.1.2", "code_name": "", "name": "2.1.2"},
|
145
|
+
{"date": "2010-03-24", "type": "release", "uri": "/bzr/2.1/2.1.1", "code_name":
|
146
|
+
null, "name": "2.1.1"}, {"date": "2010-02-11", "type": "release", "uri": "/bzr/2.1/2.1.0",
|
147
|
+
"code_name": "Strasbourg", "name": "2.1.0"}, {"date": "2010-01-29", "type":
|
148
|
+
"release", "uri": "/bzr/2.1/2.1.0rc2", "code_name": "after the bubbles", "name":
|
149
|
+
"2.1.0rc2"}, {"date": "2010-01-21", "type": "release", "uri": "/bzr/2.1/2.1.0rc1",
|
150
|
+
"code_name": "the ''new'' stable", "name": "2.1.0rc1"}, {"date": "2009-12-14",
|
151
|
+
"type": "release", "uri": "/bzr/2.1/2.1.0b4", "code_name": "san francisco
|
152
|
+
airport", "name": "2.1.0b4"}, {"date": "2009-11-16", "type": "release", "uri":
|
153
|
+
"/bzr/2.1/2.1.0b3", "code_name": "after sprint recovery", "name": "2.1.0b3"},
|
154
|
+
{"date": "2009-11-03", "type": "release", "uri": "/bzr/2.1/2.1.0b2", "code_name":
|
155
|
+
null, "name": "2.1.0b2"}, {"date": "2009-10-14", "type": "release", "uri":
|
156
|
+
"/bzr/2.1/2.1.0b1", "code_name": "While the cat is away", "name": "2.1.0b1"}],
|
157
|
+
"web_link": "https://launchpad.net/bzr/2.1", "project_link": "https://api.launchpad.net/1.0/bzr",
|
158
|
+
"uri": "/bzr/2.1", "http_etag": "\"da39a3ee5e6b4b0d3255bfef95601890afd80709-5b2748514907f590a2c05f34c776d8649f72ca17\"",
|
159
|
+
"self_link": "https://api.launchpad.net/1.0/bzr/2.1", "resource_type_link":
|
160
|
+
"https://api.launchpad.net/1.0/#timeline_project_series", "is_development_focus":
|
161
|
+
false}]}'
|
162
|
+
http_version:
|
163
|
+
recorded_at: Sun, 18 May 2014 23:49:11 GMT
|
164
|
+
recorded_with: VCR 2.9.0
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require_relative '../../spec_helper'
|
2
|
+
|
3
|
+
describe 'Rlaunchpadlib::Client' do
|
4
|
+
|
5
|
+
describe "GET" do
|
6
|
+
|
7
|
+
before do
|
8
|
+
VCR.insert_cassette 'client_get', :record => :new_episodes
|
9
|
+
end
|
10
|
+
|
11
|
+
after do
|
12
|
+
VCR.eject_cassette
|
13
|
+
end
|
14
|
+
|
15
|
+
before(:each) do
|
16
|
+
@client = Rlaunchpadlib::Client.new
|
17
|
+
end
|
18
|
+
|
19
|
+
it "on a basic resource returns a Hash Result" do
|
20
|
+
expect(@client.get('~lazypower')).to be_a(Hash)
|
21
|
+
end
|
22
|
+
|
23
|
+
it "on a sub-resource returns a Hash Result" do
|
24
|
+
expect(@client.get('charms', 'getTasks')).to be_a(Hash)
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,147 @@
|
|
1
|
+
require_relative '../../spec_helper'
|
2
|
+
|
3
|
+
describe 'Rlaunchpadlib::Person' do
|
4
|
+
|
5
|
+
before(:each) do
|
6
|
+
@user = Rlaunchpadlib::Person.new('lazypower')
|
7
|
+
end
|
8
|
+
|
9
|
+
describe "GET profile" do
|
10
|
+
|
11
|
+
before do
|
12
|
+
VCR.insert_cassette 'person', :record => :new_episodes
|
13
|
+
end
|
14
|
+
|
15
|
+
after do
|
16
|
+
VCR.eject_cassette
|
17
|
+
end
|
18
|
+
|
19
|
+
it "returns profile data as a hash" do
|
20
|
+
expect(@user.profile).to be_a(Hash)
|
21
|
+
end
|
22
|
+
|
23
|
+
it "Knows if I've signed the code of conduct" do
|
24
|
+
expect(@user.profile['is_ubuntu_coc_signer']).to eq(true)
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
describe "GET Person Archive Subscriptions" do
|
30
|
+
|
31
|
+
before do
|
32
|
+
VCR.insert_cassette 'person_archivesubscriptions', :record => :new_episodes
|
33
|
+
end
|
34
|
+
|
35
|
+
after do
|
36
|
+
VCR.eject_cassette
|
37
|
+
end
|
38
|
+
|
39
|
+
it "returns a hash of Archive Subscriptions" do
|
40
|
+
expect(@user.archive_subscriptions).to be_a(Hash)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
describe "GET Person Branches" do
|
45
|
+
|
46
|
+
before do
|
47
|
+
VCR.insert_cassette 'person_branches', :record => :new_episodes
|
48
|
+
end
|
49
|
+
|
50
|
+
after do
|
51
|
+
VCR.eject_cassette
|
52
|
+
end
|
53
|
+
|
54
|
+
it "returns a hash of Archive Subscriptions" do
|
55
|
+
expect(@user.branches).to be_a(Hash)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
describe "GET Person Bug Subscriber Packages" do
|
60
|
+
|
61
|
+
before do
|
62
|
+
VCR.insert_cassette 'person_bug_subscriber_packages', :record => :new_episodes
|
63
|
+
end
|
64
|
+
|
65
|
+
after do
|
66
|
+
VCR.eject_cassette
|
67
|
+
end
|
68
|
+
|
69
|
+
it "returns a hash of Archive Subscriptions" do
|
70
|
+
expect(@user.bug_subscriber_packages).to be_a(Hash)
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
describe "GET Person Merge Proposals" do
|
75
|
+
|
76
|
+
before do
|
77
|
+
VCR.insert_cassette 'person_merge_proposals', :record => :new_episodes
|
78
|
+
end
|
79
|
+
|
80
|
+
after do
|
81
|
+
VCR.eject_cassette
|
82
|
+
end
|
83
|
+
|
84
|
+
it "returns a hash of Archive Subscriptions" do
|
85
|
+
expect(@user.merge_proposals).to be_a(Hash)
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
describe "GET Person Requested Reviews" do
|
90
|
+
|
91
|
+
before do
|
92
|
+
VCR.insert_cassette 'person_requested_reviews', :record => :new_episodes
|
93
|
+
end
|
94
|
+
|
95
|
+
after do
|
96
|
+
VCR.eject_cassette
|
97
|
+
end
|
98
|
+
|
99
|
+
it "returns a hash of Archive Subscriptions" do
|
100
|
+
expect(@user.requested_reviews).to be_a(Hash)
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
describe "GET Person Bugs" do
|
105
|
+
|
106
|
+
before do
|
107
|
+
VCR.insert_cassette 'person_bugs', :record => :new_episodes
|
108
|
+
end
|
109
|
+
|
110
|
+
after do
|
111
|
+
VCR.eject_cassette
|
112
|
+
end
|
113
|
+
|
114
|
+
it "returns a hash of Archive Subscriptions" do
|
115
|
+
expect(@user.bugs).to be_a(Hash)
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
119
|
+
describe "Reset Cache" do
|
120
|
+
it "clears all data storage attributes" do
|
121
|
+
# warm the caches
|
122
|
+
@user.archive_subscriptions_data = 1
|
123
|
+
@user.requested_reviews_data = 1
|
124
|
+
@user.merge_proposals_data = 1
|
125
|
+
@user.bug_subscribers_data = 1
|
126
|
+
@user.branches_data = 1
|
127
|
+
@user.archive_subscriptions_data = 1
|
128
|
+
# expunge the cache
|
129
|
+
@user.clear_cache
|
130
|
+
expect(@user.archive_subscriptions_data).to be_nil
|
131
|
+
expect(@user.requested_reviews_data).to be_nil
|
132
|
+
expect(@user.merge_proposals_data).to be_nil
|
133
|
+
expect(@user.bug_subscribers_data).to be_nil
|
134
|
+
expect(@user.branches_data).to be_nil
|
135
|
+
expect(@user.archive_subscriptions_data).to be_nil
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
|
140
|
+
describe "Dynamic Method Attributes" do
|
141
|
+
|
142
|
+
it "Translates hash keys to properties" do
|
143
|
+
expect(@user.is_ubuntu_coc_signer).to eq(true)
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
147
|
+
end
|
@@ -0,0 +1,93 @@
|
|
1
|
+
require_relative '../../spec_helper'
|
2
|
+
|
3
|
+
describe 'Rlaunchpadlib::ProjectGroup' do
|
4
|
+
|
5
|
+
before(:each) do
|
6
|
+
@projectgroup = Rlaunchpadlib::ProjectGroup.new('mozilla')
|
7
|
+
end
|
8
|
+
|
9
|
+
describe "GET overview" do
|
10
|
+
|
11
|
+
before do
|
12
|
+
VCR.insert_cassette 'project_group', :record => :new_episodes
|
13
|
+
end
|
14
|
+
|
15
|
+
after do
|
16
|
+
VCR.eject_cassette
|
17
|
+
end
|
18
|
+
|
19
|
+
it "records the fixture" do
|
20
|
+
@projectgroup.overview
|
21
|
+
end
|
22
|
+
|
23
|
+
it "returns overview data as a hash" do
|
24
|
+
expect(@projectgroup.overview).to be_a(Hash)
|
25
|
+
end
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
end
|
30
|
+
|
31
|
+
describe "Dynamic Method Attributes" do
|
32
|
+
|
33
|
+
it "Knows the project is active" do
|
34
|
+
expect(@projectgroup.active).to eq(true)
|
35
|
+
end
|
36
|
+
|
37
|
+
it "Has a title" do
|
38
|
+
expect(@projectgroup.title).to_not be_nil
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
42
|
+
|
43
|
+
describe "Subresource of ProjectGroup Bugs" do
|
44
|
+
|
45
|
+
before do
|
46
|
+
VCR.insert_cassette 'project_group_bugs', :record => :new_episodes
|
47
|
+
end
|
48
|
+
|
49
|
+
after do
|
50
|
+
VCR.eject_cassette
|
51
|
+
end
|
52
|
+
|
53
|
+
it "Returns a Hash of all bugs" do
|
54
|
+
expect(@projectgroup.bugs).to be_a(Hash)
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
58
|
+
|
59
|
+
describe "Subresource of ProjectGroup MPs" do
|
60
|
+
|
61
|
+
before do
|
62
|
+
VCR.insert_cassette 'project_group_merges', :record => :new_episodes
|
63
|
+
end
|
64
|
+
|
65
|
+
after do
|
66
|
+
VCR.eject_cassette
|
67
|
+
end
|
68
|
+
|
69
|
+
it "Returns a Hash of all MPs" do
|
70
|
+
expect(@projectgroup.merge_proposals).to be_a(Hash)
|
71
|
+
end
|
72
|
+
|
73
|
+
end
|
74
|
+
|
75
|
+
|
76
|
+
describe "Subresource of ProjectGroup Branches" do
|
77
|
+
|
78
|
+
before do
|
79
|
+
VCR.insert_cassette 'project_group_branches', :record => :new_episodes
|
80
|
+
end
|
81
|
+
|
82
|
+
after do
|
83
|
+
VCR.eject_cassette
|
84
|
+
end
|
85
|
+
|
86
|
+
it "Returns a Hash of all Branches" do
|
87
|
+
expect(@projectgroup.branches).to be_a(Hash)
|
88
|
+
end
|
89
|
+
|
90
|
+
end
|
91
|
+
|
92
|
+
|
93
|
+
end
|