txgh-server 1.0.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/txgh-server/application.rb +141 -0
- data/lib/txgh-server/download_handler.rb +85 -0
- data/lib/txgh-server/github_request_auth.rb +28 -0
- data/lib/txgh-server/response.rb +15 -0
- data/lib/txgh-server/response_helpers.rb +26 -0
- data/lib/txgh-server/stream_response.rb +37 -0
- data/lib/txgh-server/tgz_stream_response.rb +39 -0
- data/lib/txgh-server/transifex_request_auth.rb +53 -0
- data/lib/txgh-server/triggers/handler.rb +50 -0
- data/lib/txgh-server/triggers/pull_handler.rb +18 -0
- data/lib/txgh-server/triggers/push_handler.rb +18 -0
- data/lib/txgh-server/triggers.rb +7 -0
- data/lib/txgh-server/version.rb +3 -0
- data/lib/txgh-server/webhooks/github/delete_handler.rb +37 -0
- data/lib/txgh-server/webhooks/github/handler.rb +20 -0
- data/lib/txgh-server/webhooks/github/ping_handler.rb +18 -0
- data/lib/txgh-server/webhooks/github/push_handler.rb +124 -0
- data/lib/txgh-server/webhooks/github/request_handler.rb +113 -0
- data/lib/txgh-server/webhooks/github.rb +11 -0
- data/lib/txgh-server/webhooks/transifex/hook_handler.rb +94 -0
- data/lib/txgh-server/webhooks/transifex/request_handler.rb +78 -0
- data/lib/txgh-server/webhooks/transifex.rb +8 -0
- data/lib/txgh-server/webhooks.rb +6 -0
- data/lib/txgh-server/zip_stream_response.rb +19 -0
- data/lib/txgh-server.rb +23 -0
- data/spec/application_spec.rb +347 -0
- data/spec/download_handler_spec.rb +91 -0
- data/spec/github_request_auth_spec.rb +39 -0
- data/spec/helpers/github_payload_builder.rb +141 -0
- data/spec/helpers/integration_setup.rb +47 -0
- data/spec/integration/cassettes/github_l10n_hook_endpoint.yml +536 -0
- data/spec/integration/cassettes/pull.yml +47 -0
- data/spec/integration/cassettes/push.yml +544 -0
- data/spec/integration/cassettes/transifex_hook_endpoint.yml +221 -0
- data/spec/integration/config/tx.config +10 -0
- data/spec/integration/hooks_spec.rb +159 -0
- data/spec/integration/payloads/github_postbody.json +161 -0
- data/spec/integration/payloads/github_postbody_l10n.json +136 -0
- data/spec/integration/payloads/github_postbody_release.json +136 -0
- data/spec/integration/triggers_spec.rb +45 -0
- data/spec/spec_helper.rb +26 -0
- data/spec/tgz_stream_response_spec.rb +59 -0
- data/spec/transifex_request_auth_spec.rb +39 -0
- data/spec/webhooks/github/delete_handler_spec.rb +38 -0
- data/spec/webhooks/github/ping_handler_spec.rb +16 -0
- data/spec/webhooks/github/push_handler_spec.rb +106 -0
- data/spec/webhooks/transifex/hook_handler_spec.rb +136 -0
- data/spec/zip_stream_response_spec.rb +58 -0
- data/txgh-server.gemspec +24 -0
- metadata +170 -0
@@ -0,0 +1,536 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://api.github.com/repos/txgh-bot/txgh-test-resources/git/refs
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"ref":"refs/heads/L10N","sha":"6eebc3eee49e8d46f6dbec16fe3360961bfdd8ed"}'
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- application/vnd.github.v3+json
|
12
|
+
User-Agent:
|
13
|
+
- Octokit Ruby Gem 4.2.0
|
14
|
+
Content-Type:
|
15
|
+
- application/json
|
16
|
+
Authorization:
|
17
|
+
- token <GITHUB_TOKEN>
|
18
|
+
Accept-Encoding:
|
19
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 422
|
23
|
+
message: Unprocessable Entity
|
24
|
+
headers:
|
25
|
+
Server:
|
26
|
+
- GitHub.com
|
27
|
+
Date:
|
28
|
+
- Fri, 12 Feb 2016 19:48:54 GMT
|
29
|
+
Content-Type:
|
30
|
+
- application/json; charset=utf-8
|
31
|
+
Content-Length:
|
32
|
+
- '121'
|
33
|
+
Status:
|
34
|
+
- 422 Unprocessable Entity
|
35
|
+
X-Ratelimit-Limit:
|
36
|
+
- '5000'
|
37
|
+
X-Ratelimit-Remaining:
|
38
|
+
- '4993'
|
39
|
+
X-Ratelimit-Reset:
|
40
|
+
- '1455310132'
|
41
|
+
X-Oauth-Scopes:
|
42
|
+
- public_repo
|
43
|
+
X-Accepted-Oauth-Scopes:
|
44
|
+
- ''
|
45
|
+
X-Github-Media-Type:
|
46
|
+
- github.v3; format=json
|
47
|
+
Access-Control-Allow-Credentials:
|
48
|
+
- 'true'
|
49
|
+
Access-Control-Expose-Headers:
|
50
|
+
- ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset,
|
51
|
+
X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval
|
52
|
+
Access-Control-Allow-Origin:
|
53
|
+
- "*"
|
54
|
+
Content-Security-Policy:
|
55
|
+
- default-src 'none'
|
56
|
+
Strict-Transport-Security:
|
57
|
+
- max-age=31536000; includeSubdomains; preload
|
58
|
+
X-Content-Type-Options:
|
59
|
+
- nosniff
|
60
|
+
X-Frame-Options:
|
61
|
+
- deny
|
62
|
+
X-Xss-Protection:
|
63
|
+
- 1; mode=block
|
64
|
+
X-Github-Request-Id:
|
65
|
+
- 04358C36:14593:B89F3A4:56BE3726
|
66
|
+
body:
|
67
|
+
encoding: UTF-8
|
68
|
+
string: '{"message":"Reference already exists","documentation_url":"https://developer.github.com/v3/git/refs/#create-a-reference"}'
|
69
|
+
http_version:
|
70
|
+
recorded_at: Fri, 12 Feb 2016 19:48:54 GMT
|
71
|
+
- request:
|
72
|
+
method: get
|
73
|
+
uri: https://api.github.com/repos/txgh-bot/txgh-test-resources/commits/6eebc3eee49e8d46f6dbec16fe3360961bfdd8ed
|
74
|
+
body:
|
75
|
+
encoding: US-ASCII
|
76
|
+
string: ''
|
77
|
+
headers:
|
78
|
+
Accept:
|
79
|
+
- application/vnd.github.v3+json
|
80
|
+
User-Agent:
|
81
|
+
- Octokit Ruby Gem 4.2.0
|
82
|
+
Content-Type:
|
83
|
+
- application/json
|
84
|
+
Authorization:
|
85
|
+
- token <GITHUB_TOKEN>
|
86
|
+
Accept-Encoding:
|
87
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
88
|
+
response:
|
89
|
+
status:
|
90
|
+
code: 200
|
91
|
+
message: OK
|
92
|
+
headers:
|
93
|
+
Server:
|
94
|
+
- GitHub.com
|
95
|
+
Date:
|
96
|
+
- Fri, 12 Feb 2016 19:48:55 GMT
|
97
|
+
Content-Type:
|
98
|
+
- application/json; charset=utf-8
|
99
|
+
Transfer-Encoding:
|
100
|
+
- chunked
|
101
|
+
Status:
|
102
|
+
- 200 OK
|
103
|
+
X-Ratelimit-Limit:
|
104
|
+
- '5000'
|
105
|
+
X-Ratelimit-Remaining:
|
106
|
+
- '4992'
|
107
|
+
X-Ratelimit-Reset:
|
108
|
+
- '1455310132'
|
109
|
+
Cache-Control:
|
110
|
+
- private, max-age=60, s-maxage=60
|
111
|
+
Last-Modified:
|
112
|
+
- Thu, 19 Nov 2015 20:56:33 GMT
|
113
|
+
Etag:
|
114
|
+
- W/"7bfdb9dfafc4d11bf47411ec7fee1f31"
|
115
|
+
X-Oauth-Scopes:
|
116
|
+
- public_repo
|
117
|
+
X-Accepted-Oauth-Scopes:
|
118
|
+
- ''
|
119
|
+
Vary:
|
120
|
+
- Accept, Authorization, Cookie, X-GitHub-OTP
|
121
|
+
- Accept-Encoding
|
122
|
+
X-Github-Media-Type:
|
123
|
+
- github.v3; format=json
|
124
|
+
Access-Control-Allow-Credentials:
|
125
|
+
- 'true'
|
126
|
+
Access-Control-Expose-Headers:
|
127
|
+
- ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset,
|
128
|
+
X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval
|
129
|
+
Access-Control-Allow-Origin:
|
130
|
+
- "*"
|
131
|
+
Content-Security-Policy:
|
132
|
+
- default-src 'none'
|
133
|
+
Strict-Transport-Security:
|
134
|
+
- max-age=31536000; includeSubdomains; preload
|
135
|
+
X-Content-Type-Options:
|
136
|
+
- nosniff
|
137
|
+
X-Frame-Options:
|
138
|
+
- deny
|
139
|
+
X-Xss-Protection:
|
140
|
+
- 1; mode=block
|
141
|
+
X-Served-By:
|
142
|
+
- a51acaae89a7607fd7ee967627be18e4
|
143
|
+
X-Github-Request-Id:
|
144
|
+
- 04358C36:14592:880AC63:56BE3727
|
145
|
+
body:
|
146
|
+
encoding: UTF-8
|
147
|
+
string: '{"sha":"6eebc3eee49e8d46f6dbec16fe3360961bfdd8ed","commit":{"author":{"name":"Matthew
|
148
|
+
Jackowski","email":"mattjjacko@gmail.com","date":"2015-11-19T20:56:33Z"},"committer":{"name":"Matthew
|
149
|
+
Jackowski","email":"mattjjacko@gmail.com","date":"2015-11-19T20:56:33Z"},"message":"10","tree":{"sha":"572b0507c4109703788333808a0b0019c0000f50","url":"https://api.github.com/repos/txgh-bot/txgh-test-resources/git/trees/572b0507c4109703788333808a0b0019c0000f50"},"url":"https://api.github.com/repos/txgh-bot/txgh-test-resources/git/commits/6eebc3eee49e8d46f6dbec16fe3360961bfdd8ed","comment_count":0},"url":"https://api.github.com/repos/txgh-bot/txgh-test-resources/commits/6eebc3eee49e8d46f6dbec16fe3360961bfdd8ed","html_url":"https://github.com/txgh-bot/txgh-test-resources/commit/6eebc3eee49e8d46f6dbec16fe3360961bfdd8ed","comments_url":"https://api.github.com/repos/txgh-bot/txgh-test-resources/commits/6eebc3eee49e8d46f6dbec16fe3360961bfdd8ed/comments","author":{"login":"matthewjackowski","id":974299,"avatar_url":"https://avatars.githubusercontent.com/u/974299?v=3","gravatar_id":"","url":"https://api.github.com/users/matthewjackowski","html_url":"https://github.com/matthewjackowski","followers_url":"https://api.github.com/users/matthewjackowski/followers","following_url":"https://api.github.com/users/matthewjackowski/following{/other_user}","gists_url":"https://api.github.com/users/matthewjackowski/gists{/gist_id}","starred_url":"https://api.github.com/users/matthewjackowski/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/matthewjackowski/subscriptions","organizations_url":"https://api.github.com/users/matthewjackowski/orgs","repos_url":"https://api.github.com/users/matthewjackowski/repos","events_url":"https://api.github.com/users/matthewjackowski/events{/privacy}","received_events_url":"https://api.github.com/users/matthewjackowski/received_events","type":"User","site_admin":false},"committer":{"login":"matthewjackowski","id":974299,"avatar_url":"https://avatars.githubusercontent.com/u/974299?v=3","gravatar_id":"","url":"https://api.github.com/users/matthewjackowski","html_url":"https://github.com/matthewjackowski","followers_url":"https://api.github.com/users/matthewjackowski/followers","following_url":"https://api.github.com/users/matthewjackowski/following{/other_user}","gists_url":"https://api.github.com/users/matthewjackowski/gists{/gist_id}","starred_url":"https://api.github.com/users/matthewjackowski/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/matthewjackowski/subscriptions","organizations_url":"https://api.github.com/users/matthewjackowski/orgs","repos_url":"https://api.github.com/users/matthewjackowski/repos","events_url":"https://api.github.com/users/matthewjackowski/events{/privacy}","received_events_url":"https://api.github.com/users/matthewjackowski/received_events","type":"User","site_admin":false},"parents":[{"sha":"61e01fc7270052ac327c8938e63d1f1942a44372","url":"https://api.github.com/repos/txgh-bot/txgh-test-resources/commits/61e01fc7270052ac327c8938e63d1f1942a44372","html_url":"https://github.com/txgh-bot/txgh-test-resources/commit/61e01fc7270052ac327c8938e63d1f1942a44372"}],"stats":{"total":2,"additions":2,"deletions":0},"files":[{"sha":"a93e31a00137e0bd23db5bc7720568f8e908b2b6","filename":"sample.po","status":"modified","additions":2,"deletions":0,"changes":2,"blob_url":"https://github.com/txgh-bot/txgh-test-resources/blob/6eebc3eee49e8d46f6dbec16fe3360961bfdd8ed/sample.po","raw_url":"https://github.com/txgh-bot/txgh-test-resources/raw/6eebc3eee49e8d46f6dbec16fe3360961bfdd8ed/sample.po","contents_url":"https://api.github.com/repos/txgh-bot/txgh-test-resources/contents/sample.po?ref=6eebc3eee49e8d46f6dbec16fe3360961bfdd8ed","patch":"@@
|
150
|
+
-34,3 +34,5 @@ msgid \"Eight\"\n msgstr \"Eight\"\n msgid \"Nine\"\n msgstr
|
151
|
+
\"Nine\"\n+msgid \"Ten\"\n+msgstr \"Ten\""}]}'
|
152
|
+
http_version:
|
153
|
+
recorded_at: Fri, 12 Feb 2016 19:48:55 GMT
|
154
|
+
- request:
|
155
|
+
method: get
|
156
|
+
uri: https://api.github.com/repos/txgh-bot/txgh-test-resources/git/trees/572b0507c4109703788333808a0b0019c0000f50?recursive=1
|
157
|
+
body:
|
158
|
+
encoding: US-ASCII
|
159
|
+
string: ''
|
160
|
+
headers:
|
161
|
+
Accept:
|
162
|
+
- application/vnd.github.v3+json
|
163
|
+
User-Agent:
|
164
|
+
- Octokit Ruby Gem 4.2.0
|
165
|
+
Content-Type:
|
166
|
+
- application/json
|
167
|
+
Authorization:
|
168
|
+
- token <GITHUB_TOKEN>
|
169
|
+
Accept-Encoding:
|
170
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
171
|
+
response:
|
172
|
+
status:
|
173
|
+
code: 200
|
174
|
+
message: OK
|
175
|
+
headers:
|
176
|
+
Server:
|
177
|
+
- GitHub.com
|
178
|
+
Date:
|
179
|
+
- Fri, 12 Feb 2016 19:48:55 GMT
|
180
|
+
Content-Type:
|
181
|
+
- application/json; charset=utf-8
|
182
|
+
Transfer-Encoding:
|
183
|
+
- chunked
|
184
|
+
Status:
|
185
|
+
- 200 OK
|
186
|
+
X-Ratelimit-Limit:
|
187
|
+
- '5000'
|
188
|
+
X-Ratelimit-Remaining:
|
189
|
+
- '4991'
|
190
|
+
X-Ratelimit-Reset:
|
191
|
+
- '1455310132'
|
192
|
+
Cache-Control:
|
193
|
+
- private, max-age=60, s-maxage=60
|
194
|
+
Last-Modified:
|
195
|
+
- Mon, 11 Jan 2016 23:45:43 GMT
|
196
|
+
Etag:
|
197
|
+
- W/"07cd463077f05587402e4f0815c49053"
|
198
|
+
X-Oauth-Scopes:
|
199
|
+
- public_repo
|
200
|
+
X-Accepted-Oauth-Scopes:
|
201
|
+
- ''
|
202
|
+
Vary:
|
203
|
+
- Accept, Authorization, Cookie, X-GitHub-OTP
|
204
|
+
- Accept-Encoding
|
205
|
+
X-Github-Media-Type:
|
206
|
+
- github.v3; format=json
|
207
|
+
Access-Control-Allow-Credentials:
|
208
|
+
- 'true'
|
209
|
+
Access-Control-Expose-Headers:
|
210
|
+
- ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset,
|
211
|
+
X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval
|
212
|
+
Access-Control-Allow-Origin:
|
213
|
+
- "*"
|
214
|
+
Content-Security-Policy:
|
215
|
+
- default-src 'none'
|
216
|
+
Strict-Transport-Security:
|
217
|
+
- max-age=31536000; includeSubdomains; preload
|
218
|
+
X-Content-Type-Options:
|
219
|
+
- nosniff
|
220
|
+
X-Frame-Options:
|
221
|
+
- deny
|
222
|
+
X-Xss-Protection:
|
223
|
+
- 1; mode=block
|
224
|
+
X-Served-By:
|
225
|
+
- 065b43cd9674091fec48a221b420fbb3
|
226
|
+
X-Github-Request-Id:
|
227
|
+
- 04358C36:14594:ED05BBF:56BE3727
|
228
|
+
body:
|
229
|
+
encoding: UTF-8
|
230
|
+
string: '{"sha":"572b0507c4109703788333808a0b0019c0000f50","url":"https://api.github.com/repos/txgh-bot/txgh-test-resources/git/trees/572b0507c4109703788333808a0b0019c0000f50","tree":[{"path":"README.md","mode":"100644","type":"blob","sha":"cee445fa5bceaeb83c8d443b28f1647c2feff565","size":53,"url":"https://api.github.com/repos/txgh-bot/txgh-test-resources/git/blobs/cee445fa5bceaeb83c8d443b28f1647c2feff565"},{"path":"sample.po","mode":"100644","type":"blob","sha":"a93e31a00137e0bd23db5bc7720568f8e908b2b6","size":855,"url":"https://api.github.com/repos/txgh-bot/txgh-test-resources/git/blobs/a93e31a00137e0bd23db5bc7720568f8e908b2b6"},{"path":"translations","mode":"040000","type":"tree","sha":"5b5d383f4f107ff4d53c8fa4ce1166b63d1a4458","url":"https://api.github.com/repos/txgh-bot/txgh-test-resources/git/trees/5b5d383f4f107ff4d53c8fa4ce1166b63d1a4458"},{"path":"translations/el_GR","mode":"040000","type":"tree","sha":"396520f008766ce17de7b254cdfd3d7b4eda6b44","url":"https://api.github.com/repos/txgh-bot/txgh-test-resources/git/trees/396520f008766ce17de7b254cdfd3d7b4eda6b44"},{"path":"translations/el_GR/sample.po","mode":"100644","type":"blob","sha":"98f5f909182137fd6416b4e672a85c013fef7a3a","size":1181,"url":"https://api.github.com/repos/txgh-bot/txgh-test-resources/git/blobs/98f5f909182137fd6416b4e672a85c013fef7a3a"},{"path":"translations/el_GR/test.txt","mode":"100644","type":"blob","sha":"f16628a67170414c9d346279f2595e77a1c3cf0f","size":28,"url":"https://api.github.com/repos/txgh-bot/txgh-test-resources/git/blobs/f16628a67170414c9d346279f2595e77a1c3cf0f"},{"path":"translations/test.txt","mode":"100644","type":"blob","sha":"f16628a67170414c9d346279f2595e77a1c3cf0f","size":28,"url":"https://api.github.com/repos/txgh-bot/txgh-test-resources/git/blobs/f16628a67170414c9d346279f2595e77a1c3cf0f"}],"truncated":false}'
|
231
|
+
http_version:
|
232
|
+
recorded_at: Fri, 12 Feb 2016 19:48:55 GMT
|
233
|
+
- request:
|
234
|
+
method: get
|
235
|
+
uri: https://api.github.com/repos/txgh-bot/txgh-test-resources/git/blobs/a93e31a00137e0bd23db5bc7720568f8e908b2b6
|
236
|
+
body:
|
237
|
+
encoding: US-ASCII
|
238
|
+
string: ''
|
239
|
+
headers:
|
240
|
+
Accept:
|
241
|
+
- application/vnd.github.v3+json
|
242
|
+
User-Agent:
|
243
|
+
- Octokit Ruby Gem 4.2.0
|
244
|
+
Content-Type:
|
245
|
+
- application/json
|
246
|
+
Authorization:
|
247
|
+
- token <GITHUB_TOKEN>
|
248
|
+
Accept-Encoding:
|
249
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
250
|
+
response:
|
251
|
+
status:
|
252
|
+
code: 200
|
253
|
+
message: OK
|
254
|
+
headers:
|
255
|
+
Server:
|
256
|
+
- GitHub.com
|
257
|
+
Date:
|
258
|
+
- Fri, 12 Feb 2016 19:48:56 GMT
|
259
|
+
Content-Type:
|
260
|
+
- application/json; charset=utf-8
|
261
|
+
Transfer-Encoding:
|
262
|
+
- chunked
|
263
|
+
Status:
|
264
|
+
- 200 OK
|
265
|
+
X-Ratelimit-Limit:
|
266
|
+
- '5000'
|
267
|
+
X-Ratelimit-Remaining:
|
268
|
+
- '4990'
|
269
|
+
X-Ratelimit-Reset:
|
270
|
+
- '1455310132'
|
271
|
+
Cache-Control:
|
272
|
+
- private, max-age=60, s-maxage=60
|
273
|
+
Etag:
|
274
|
+
- W/"dbb7c82142b789308c5d1aae70171c46"
|
275
|
+
X-Oauth-Scopes:
|
276
|
+
- public_repo
|
277
|
+
X-Accepted-Oauth-Scopes:
|
278
|
+
- ''
|
279
|
+
Vary:
|
280
|
+
- Accept, Authorization, Cookie, X-GitHub-OTP
|
281
|
+
- Accept-Encoding
|
282
|
+
X-Github-Media-Type:
|
283
|
+
- github.v3; format=json
|
284
|
+
Access-Control-Allow-Credentials:
|
285
|
+
- 'true'
|
286
|
+
Access-Control-Expose-Headers:
|
287
|
+
- ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset,
|
288
|
+
X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval
|
289
|
+
Access-Control-Allow-Origin:
|
290
|
+
- "*"
|
291
|
+
Content-Security-Policy:
|
292
|
+
- default-src 'none'
|
293
|
+
Strict-Transport-Security:
|
294
|
+
- max-age=31536000; includeSubdomains; preload
|
295
|
+
X-Content-Type-Options:
|
296
|
+
- nosniff
|
297
|
+
X-Frame-Options:
|
298
|
+
- deny
|
299
|
+
X-Xss-Protection:
|
300
|
+
- 1; mode=block
|
301
|
+
X-Served-By:
|
302
|
+
- a51acaae89a7607fd7ee967627be18e4
|
303
|
+
X-Github-Request-Id:
|
304
|
+
- 04358C36:14595:117D11BE:56BE3727
|
305
|
+
body:
|
306
|
+
encoding: UTF-8
|
307
|
+
string: '{"sha":"a93e31a00137e0bd23db5bc7720568f8e908b2b6","size":855,"url":"https://api.github.com/repos/txgh-bot/txgh-test-resources/git/blobs/a93e31a00137e0bd23db5bc7720568f8e908b2b6","content":"IyBUcmFuc2xhdGlvbiBmaWxlIGZvciBUcmFuc2lmZXguCiMgQ29weXJpZ2h0\nIChDKSAyMDA3LTIwMTAgSW5kaWZleCBMdGQuCiMgVGhpcyBmaWxlIGlzIGRp\nc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIFRyYW5z\naWZleCBwYWNrYWdlLgojCiMgVHJhbnNsYXRvcnM6Cm1zZ2lkICIiCm1zZ3N0\nciAiIgoiUHJvamVjdC1JZC1WZXJzaW9uOiBUcmFuc2lmZXhcbiIKIlJlcG9y\ndC1Nc2dpZC1CdWdzLVRvOiBcbiIKIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE1\nLTAyLTE3IDIwOjEwKzAwMDBcbiIKIlBPLVJldmlzaW9uLURhdGU6IDIwMTMt\nMTAtMjIgMTA6NTcrMDAwMFxuIgoiTGFzdC1UcmFuc2xhdG9yOiBJbGlhcy1E\naW1pdHJpb3MgVnJhY2huaXNcbiIKIkxhbmd1YWdlLVRlYW06IExBTkdVQUdF\nIDxMTEBsaS5vcmc+XG4iCiJMYW5ndWFnZTogZW5cbiIKIk1JTUUtVmVyc2lv\nbjogMS4wXG4iCiJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9\nVVRGLThcbiIKIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIK\nIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MjsgcGx1cmFsPShuICE9IDEpO1xu\nIgptc2dpZCAiT25lIgptc2dzdHIgIk9uZSIKbXNnaWQgIlR3byIKbXNnc3Ry\nICJUd28iCm1zZ2lkICJUaHJlZSIKbXNnc3RyICJUaHJlZSIKbXNnaWQgIkZv\ndXIiCm1zZ3N0ciAiRm91ciIKbXNnaWQgIkZpdmUiCm1zZ3N0ciAiRml2ZSIK\nbXNnaWQgIlNpeCIKbXNnc3RyICJTaXgiCm1zZ2lkICJTZXZlbiIKbXNnc3Ry\nICJTZXZlbiIKbXNnaWQgIkVpZ2h0Igptc2dzdHIgIkVpZ2h0Igptc2dpZCAi\nTmluZSIKbXNnc3RyICJOaW5lIgptc2dpZCAiVGVuIgptc2dzdHIgIlRlbiIK\n","encoding":"base64"}'
|
308
|
+
http_version:
|
309
|
+
recorded_at: Fri, 12 Feb 2016 19:48:56 GMT
|
310
|
+
- request:
|
311
|
+
method: get
|
312
|
+
uri: https://txgh.bot:<TRANSIFEX_PASSWORD>@www.transifex.com/api/2/project/test-project-88/resource/samplepo/
|
313
|
+
body:
|
314
|
+
encoding: US-ASCII
|
315
|
+
string: ''
|
316
|
+
headers:
|
317
|
+
User-Agent:
|
318
|
+
- Faraday v0.9.2
|
319
|
+
Accept:
|
320
|
+
- application/json
|
321
|
+
Accept-Encoding:
|
322
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
323
|
+
response:
|
324
|
+
status:
|
325
|
+
code: 200
|
326
|
+
message: OK
|
327
|
+
headers:
|
328
|
+
Server:
|
329
|
+
- nginx
|
330
|
+
Vary:
|
331
|
+
- Accept-Encoding
|
332
|
+
- Authorization, Host, Accept-Language, Cookie
|
333
|
+
Cache-Control:
|
334
|
+
- max-age=0
|
335
|
+
Content-Type:
|
336
|
+
- application/json; charset=utf-8
|
337
|
+
Date:
|
338
|
+
- Fri, 12 Feb 2016 19:48:56 GMT
|
339
|
+
Expires:
|
340
|
+
- Fri, 12 Feb 2016 19:48:56 GMT
|
341
|
+
Transfer-Encoding:
|
342
|
+
- chunked
|
343
|
+
Content-Language:
|
344
|
+
- en
|
345
|
+
X-Content-Type-Options:
|
346
|
+
- nosniff
|
347
|
+
Connection:
|
348
|
+
- keep-alive
|
349
|
+
Set-Cookie:
|
350
|
+
- X-Mapping-fjhppofk=7BA9C65DD9CD0F1A96194A82BFB61D00; path=/
|
351
|
+
Last-Modified:
|
352
|
+
- Fri, 12 Feb 2016 19:48:56 GMT
|
353
|
+
X-Frame-Options:
|
354
|
+
- SAMEORIGIN
|
355
|
+
body:
|
356
|
+
encoding: UTF-8
|
357
|
+
string: "{\n \"source_language_code\": \"en\", \n \"name\": \"sample.po\",
|
358
|
+
\n \"i18n_type\": \"PO\", \n \"priority\": \"0\", \n \"slug\": \"samplepo\",
|
359
|
+
\n \"categories\": [\n \"branch:refs/tags/L10N\", \n \"author:Txgh
|
360
|
+
Bot\"\n ]\n}"
|
361
|
+
http_version:
|
362
|
+
recorded_at: Fri, 12 Feb 2016 19:48:56 GMT
|
363
|
+
- request:
|
364
|
+
method: get
|
365
|
+
uri: https://txgh.bot:<TRANSIFEX_PASSWORD>@www.transifex.com/api/2/project/test-project-88/resource/samplepo/
|
366
|
+
body:
|
367
|
+
encoding: US-ASCII
|
368
|
+
string: ''
|
369
|
+
headers:
|
370
|
+
User-Agent:
|
371
|
+
- Faraday v0.9.2
|
372
|
+
Accept:
|
373
|
+
- application/json
|
374
|
+
Accept-Encoding:
|
375
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
376
|
+
response:
|
377
|
+
status:
|
378
|
+
code: 200
|
379
|
+
message: OK
|
380
|
+
headers:
|
381
|
+
Server:
|
382
|
+
- nginx
|
383
|
+
Vary:
|
384
|
+
- Accept-Encoding
|
385
|
+
- Authorization, Host, Accept-Language, Cookie
|
386
|
+
Cache-Control:
|
387
|
+
- max-age=0
|
388
|
+
Content-Type:
|
389
|
+
- application/json; charset=utf-8
|
390
|
+
Date:
|
391
|
+
- Fri, 12 Feb 2016 19:48:57 GMT
|
392
|
+
Expires:
|
393
|
+
- Fri, 12 Feb 2016 19:48:57 GMT
|
394
|
+
Transfer-Encoding:
|
395
|
+
- chunked
|
396
|
+
Content-Language:
|
397
|
+
- en
|
398
|
+
X-Content-Type-Options:
|
399
|
+
- nosniff
|
400
|
+
Connection:
|
401
|
+
- keep-alive
|
402
|
+
Set-Cookie:
|
403
|
+
- X-Mapping-fjhppofk=C7ADAD16FC9FAF25B589211B926C5FF5; path=/
|
404
|
+
Last-Modified:
|
405
|
+
- Fri, 12 Feb 2016 19:48:57 GMT
|
406
|
+
X-Frame-Options:
|
407
|
+
- SAMEORIGIN
|
408
|
+
body:
|
409
|
+
encoding: UTF-8
|
410
|
+
string: "{\n \"source_language_code\": \"en\", \n \"name\": \"sample.po\",
|
411
|
+
\n \"i18n_type\": \"PO\", \n \"priority\": \"0\", \n \"slug\": \"samplepo\",
|
412
|
+
\n \"categories\": [\n \"branch:refs/tags/L10N\", \n \"author:Txgh
|
413
|
+
Bot\"\n ]\n}"
|
414
|
+
http_version:
|
415
|
+
recorded_at: Fri, 12 Feb 2016 19:48:57 GMT
|
416
|
+
- request:
|
417
|
+
method: put
|
418
|
+
uri: https://txgh.bot:<TRANSIFEX_PASSWORD>@www.transifex.com/api/2/project/test-project-88/resource/samplepo/
|
419
|
+
body:
|
420
|
+
encoding: UTF-8
|
421
|
+
string: '{"categories":["branch:refs/tags/L10N","author:Txgh Bot"]}'
|
422
|
+
headers:
|
423
|
+
User-Agent:
|
424
|
+
- Faraday v0.9.2
|
425
|
+
Accept:
|
426
|
+
- application/json
|
427
|
+
Content-Type:
|
428
|
+
- application/json
|
429
|
+
Accept-Encoding:
|
430
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
431
|
+
response:
|
432
|
+
status:
|
433
|
+
code: 200
|
434
|
+
message: OK
|
435
|
+
headers:
|
436
|
+
Server:
|
437
|
+
- nginx
|
438
|
+
Vary:
|
439
|
+
- Accept-Encoding
|
440
|
+
- Authorization, Host, Accept-Language, Cookie
|
441
|
+
Cache-Control:
|
442
|
+
- max-age=0
|
443
|
+
Content-Type:
|
444
|
+
- text/plain
|
445
|
+
Date:
|
446
|
+
- Fri, 12 Feb 2016 19:48:57 GMT
|
447
|
+
Expires:
|
448
|
+
- Fri, 12 Feb 2016 19:48:57 GMT
|
449
|
+
Transfer-Encoding:
|
450
|
+
- chunked
|
451
|
+
Content-Language:
|
452
|
+
- en
|
453
|
+
X-Content-Type-Options:
|
454
|
+
- nosniff
|
455
|
+
Connection:
|
456
|
+
- keep-alive
|
457
|
+
Set-Cookie:
|
458
|
+
- X-Mapping-fjhppofk=EB51E54611BEFDE531C59D8E5F7EF32B; path=/
|
459
|
+
Last-Modified:
|
460
|
+
- Fri, 12 Feb 2016 19:48:57 GMT
|
461
|
+
X-Frame-Options:
|
462
|
+
- SAMEORIGIN
|
463
|
+
body:
|
464
|
+
encoding: UTF-8
|
465
|
+
string: OK
|
466
|
+
http_version:
|
467
|
+
recorded_at: Fri, 12 Feb 2016 19:48:58 GMT
|
468
|
+
- request:
|
469
|
+
method: put
|
470
|
+
uri: https://txgh.bot:<TRANSIFEX_PASSWORD>@www.transifex.com/api/2/project/test-project-88/resource/samplepo/content/
|
471
|
+
body:
|
472
|
+
encoding: UTF-8
|
473
|
+
string: "-------------RubyMultipartPost\r\nContent-Disposition: form-data; name=\"content\";
|
474
|
+
filename=\"sample.po\"\r\nContent-Length: 855\r\nContent-Type: application/octet-stream\r\nContent-Transfer-Encoding:
|
475
|
+
binary\r\n\r\n# Translation file for Transifex.\n# Copyright (C) 2007-2010
|
476
|
+
Indifex Ltd.\n# This file is distributed under the same license as the Transifex
|
477
|
+
package.\n#\n# Translators:\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version:
|
478
|
+
Transifex\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2015-02-17
|
479
|
+
20:10+0000\\n\"\n\"PO-Revision-Date: 2013-10-22 10:57+0000\\n\"\n\"Last-Translator:
|
480
|
+
Ilias-Dimitrios Vrachnis\\n\"\n\"Language-Team: LANGUAGE <LL@li.org>\\n\"\n\"Language:
|
481
|
+
en\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding:
|
482
|
+
8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=(n != 1);\\n\"\nmsgid \"One\"\nmsgstr
|
483
|
+
\"One\"\nmsgid \"Two\"\nmsgstr \"Two\"\nmsgid \"Three\"\nmsgstr \"Three\"\nmsgid
|
484
|
+
\"Four\"\nmsgstr \"Four\"\nmsgid \"Five\"\nmsgstr \"Five\"\nmsgid \"Six\"\nmsgstr
|
485
|
+
\"Six\"\nmsgid \"Seven\"\nmsgstr \"Seven\"\nmsgid \"Eight\"\nmsgstr \"Eight\"\nmsgid
|
486
|
+
\"Nine\"\nmsgstr \"Nine\"\nmsgid \"Ten\"\nmsgstr \"Ten\"\n\r\n-------------RubyMultipartPost--\r\n\r\n"
|
487
|
+
headers:
|
488
|
+
User-Agent:
|
489
|
+
- Faraday v0.9.2
|
490
|
+
Accept:
|
491
|
+
- application/json
|
492
|
+
Content-Type:
|
493
|
+
- multipart/form-data; boundary=-----------RubyMultipartPost
|
494
|
+
Content-Length:
|
495
|
+
- '1093'
|
496
|
+
Accept-Encoding:
|
497
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
498
|
+
response:
|
499
|
+
status:
|
500
|
+
code: 200
|
501
|
+
message: OK
|
502
|
+
headers:
|
503
|
+
Server:
|
504
|
+
- nginx
|
505
|
+
Vary:
|
506
|
+
- Accept-Encoding
|
507
|
+
- Authorization, Host, Accept-Language, Cookie
|
508
|
+
Cache-Control:
|
509
|
+
- max-age=0
|
510
|
+
Content-Type:
|
511
|
+
- application/json; charset=utf-8
|
512
|
+
Date:
|
513
|
+
- Fri, 12 Feb 2016 19:48:58 GMT
|
514
|
+
Expires:
|
515
|
+
- Fri, 12 Feb 2016 19:48:58 GMT
|
516
|
+
Transfer-Encoding:
|
517
|
+
- chunked
|
518
|
+
Content-Language:
|
519
|
+
- en
|
520
|
+
X-Content-Type-Options:
|
521
|
+
- nosniff
|
522
|
+
Connection:
|
523
|
+
- keep-alive
|
524
|
+
Set-Cookie:
|
525
|
+
- X-Mapping-fjhppofk=B8558B7BB369B761FC4CE03884ACF0F5; path=/
|
526
|
+
Last-Modified:
|
527
|
+
- Fri, 12 Feb 2016 19:48:58 GMT
|
528
|
+
X-Frame-Options:
|
529
|
+
- SAMEORIGIN
|
530
|
+
body:
|
531
|
+
encoding: UTF-8
|
532
|
+
string: "{\n \"strings_added\": 0, \n \"strings_updated\": 0, \n \"strings_delete\":
|
533
|
+
0, \n \"redirect\": \"/txgh-test/test-project-88/samplepo/\"\n}"
|
534
|
+
http_version:
|
535
|
+
recorded_at: Fri, 12 Feb 2016 19:48:59 GMT
|
536
|
+
recorded_with: VCR 3.0.1
|
@@ -0,0 +1,47 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://txgh.bot:<TRANSIFEX_PASSWORD>@www.transifex.com/api/2/project/test-project-88/languages/
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.9.2
|
12
|
+
Accept:
|
13
|
+
- application/json
|
14
|
+
Accept-Encoding:
|
15
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Server:
|
22
|
+
- nginx
|
23
|
+
Vary:
|
24
|
+
- Accept-Encoding
|
25
|
+
- Authorization, Host, Accept-Language, Cookie
|
26
|
+
Content-Type:
|
27
|
+
- application/json; charset=utf-8
|
28
|
+
Date:
|
29
|
+
- Fri, 12 Feb 2016 19:48:59 GMT
|
30
|
+
Transfer-Encoding:
|
31
|
+
- chunked
|
32
|
+
Content-Language:
|
33
|
+
- en
|
34
|
+
X-Content-Type-Options:
|
35
|
+
- nosniff
|
36
|
+
Connection:
|
37
|
+
- keep-alive
|
38
|
+
Set-Cookie:
|
39
|
+
- X-Mapping-fjhppofk=B8558B7BB369B761FC4CE03884ACF0F5; path=/
|
40
|
+
X-Frame-Options:
|
41
|
+
- SAMEORIGIN
|
42
|
+
body:
|
43
|
+
encoding: UTF-8
|
44
|
+
string: "[]"
|
45
|
+
http_version:
|
46
|
+
recorded_at: Fri, 12 Feb 2016 19:48:59 GMT
|
47
|
+
recorded_with: VCR 3.0.1
|