txgh-server 4.0.0.beta → 4.0.0.beta2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/txgh-server/version.rb +1 -1
- data/spec/download_handler_spec.rb +4 -4
- data/spec/helpers/integration_setup.rb +55 -20
- data/spec/integration/cassettes/gitlab_hook_endpoint.yml +446 -0
- data/spec/integration/cassettes/pull.yml +346 -173
- data/spec/integration/cassettes/push.yml +320 -341
- data/spec/integration/cassettes/transifex_hook_endpoint.yml +349 -262
- data/spec/integration/config/tx_gitlab.config +10 -0
- data/spec/integration/hooks_spec.rb +54 -63
- data/spec/integration/payloads/gitlab_postbody.json +62 -0
- data/spec/integration/triggers_spec.rb +11 -4
- data/txgh-server.gemspec +1 -1
- metadata +8 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b75bee8da3b944c3ac42c25e6222b834f1d3045d421259322ec96f2983ac1202
|
4
|
+
data.tar.gz: 746b67747dbda0cee30ea11702b9d39c8d74de63d58618a6e5fa5f774e8658c4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3b3bbf21430a0440970e081104dd25c1ce8dc5da12fe2c2b635117de6fdac16d3188905d51f4c2e9bce6282b079230ec79b6fe7094e6b426f8eed92cac1b7df1
|
7
|
+
data.tar.gz: 9debdbd596ef53db7b9af7a8cf2df9746518fde6bfdeef78f53a41c9d1ed29159cfac04a3f446c683c1dbcf8452e7de9318beb7815f0bab0ba5680b832043dfc
|
data/lib/txgh-server/version.rb
CHANGED
@@ -30,7 +30,7 @@ describe TxghServer::DownloadHandler do
|
|
30
30
|
it 'responds with a streaming zip and has the project name as the attachment' do
|
31
31
|
response = described_class.handle_request(request)
|
32
32
|
expect(response).to be_streaming
|
33
|
-
expect(response).to be_a(ZipStreamResponse)
|
33
|
+
expect(response).to be_a(TxghServer::ZipStreamResponse)
|
34
34
|
expect(response.attachment).to eq(project_name)
|
35
35
|
end
|
36
36
|
|
@@ -40,7 +40,7 @@ describe TxghServer::DownloadHandler do
|
|
40
40
|
it 'responds with a streaming tgz download' do
|
41
41
|
response = described_class.handle_request(request)
|
42
42
|
expect(response).to be_streaming
|
43
|
-
expect(response).to be_a(TgzStreamResponse)
|
43
|
+
expect(response).to be_a(TxghServer::TgzStreamResponse)
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
@@ -60,7 +60,7 @@ describe TxghServer::DownloadHandler do
|
|
60
60
|
end
|
61
61
|
|
62
62
|
it 'responds with a streaming zip download' do
|
63
|
-
expect(handler.execute).to be_a(ZipStreamResponse)
|
63
|
+
expect(handler.execute).to be_a(TxghServer::ZipStreamResponse)
|
64
64
|
end
|
65
65
|
|
66
66
|
it 'responds with the project name as the attachment' do
|
@@ -72,7 +72,7 @@ describe TxghServer::DownloadHandler do
|
|
72
72
|
let(:format) { '.tgz' }
|
73
73
|
|
74
74
|
it 'responds with a streaming tgz download' do
|
75
|
-
expect(handler.execute).to be_a(TgzStreamResponse)
|
75
|
+
expect(handler.execute).to be_a(TxghServer::TgzStreamResponse)
|
76
76
|
end
|
77
77
|
end
|
78
78
|
|
@@ -1,40 +1,75 @@
|
|
1
1
|
module IntegrationSetup
|
2
2
|
extend RSpec::SharedContext
|
3
3
|
|
4
|
+
let(:git_source) { 'github' }
|
5
|
+
let(:project_name) { 'test-project-88' }
|
6
|
+
let(:repo_name) { 'txgh-bot/txgh-test-resources' }
|
7
|
+
|
4
8
|
let(:base_config) do
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
'
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
9
|
+
if git_source == 'github'
|
10
|
+
{
|
11
|
+
git_source => {
|
12
|
+
'repos' => {
|
13
|
+
repo_name => {
|
14
|
+
'api_username' => 'txgh-bot',
|
15
|
+
# github will auto-revoke a token if they notice it in one of your commits ;)
|
16
|
+
'api_token' => Base64.decode64('YjViYWY3Nzk5NTdkMzVlMmI0OGZmYjk4YThlY2M1ZDY0NzAwNWRhZA=='),
|
17
|
+
'push_source_to' => project_name,
|
18
|
+
'branch' => 'master',
|
19
|
+
'webhook_secret' => '18d3998f576dfe933357104b87abfd61'
|
20
|
+
}
|
21
|
+
}
|
22
|
+
},
|
23
|
+
'transifex' => {
|
24
|
+
'projects' => {
|
25
|
+
project_name => {
|
26
|
+
'tx_config' => 'file://./config/tx.config',
|
27
|
+
'api_username' => 'txgh.bot',
|
28
|
+
'api_password' => '2aqFGW99fPRKWvXBPjbrxkdiR',
|
29
|
+
'push_translations_to' => 'txgh-bot/txgh-test-resources',
|
30
|
+
'webhook_secret' => 'fce95b1748fd638c22174d34200f10cf',
|
31
|
+
'languages' => ['el_GR']
|
32
|
+
}
|
14
33
|
}
|
15
34
|
}
|
16
|
-
}
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
35
|
+
}
|
36
|
+
else
|
37
|
+
{
|
38
|
+
git_source => {
|
39
|
+
'repos' => {
|
40
|
+
repo_name => {
|
41
|
+
'api_token' => Base64.decode64('a3M1LV85TmFTaUwtOU5TUVJhcjE='),
|
42
|
+
'push_source_to' => project_name,
|
43
|
+
'branch' => 'all',
|
44
|
+
'webhook_secret' => '123456789'
|
45
|
+
}
|
46
|
+
}
|
47
|
+
},
|
48
|
+
'transifex' => {
|
49
|
+
'projects' => {
|
50
|
+
project_name => {
|
51
|
+
'organization' => 'lumos-labs',
|
52
|
+
'tx_config' => 'file://./config/tx_gitlab.config',
|
53
|
+
'api_username' => 'txgh.bot',
|
54
|
+
'api_password' => '2aqFGW99fPRKWvXBPjbrxkdiR',
|
55
|
+
'push_translations_to' => 'idanci/txgl-test',
|
56
|
+
'webhook_secret' => '123456789',
|
57
|
+
'languages' => ['de']
|
58
|
+
}
|
24
59
|
}
|
25
60
|
}
|
26
61
|
}
|
27
|
-
|
62
|
+
end
|
28
63
|
end
|
29
64
|
|
30
65
|
before(:all) do
|
31
66
|
VCR.configure do |config|
|
32
67
|
config.filter_sensitive_data('<GITHUB_TOKEN>') do
|
33
|
-
base_config[
|
68
|
+
base_config[git_source]['repos'][repo_name]['api_token']
|
34
69
|
end
|
35
70
|
|
36
71
|
config.filter_sensitive_data('<TRANSIFEX_PASSWORD>') do
|
37
|
-
base_config['transifex']['projects'][
|
72
|
+
base_config['transifex']['projects'][project_name]['api_password']
|
38
73
|
end
|
39
74
|
end
|
40
75
|
end
|
@@ -0,0 +1,446 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://gitlab.com/api/v4/projects/idanci%2Ftxgl-test/repository/files/config%2Flocales%2Fen.yml?ref=test_hook
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- application/json
|
12
|
+
Content-Type:
|
13
|
+
- application/x-www-form-urlencoded
|
14
|
+
User-Agent:
|
15
|
+
- Gitlab Ruby Gem 4.14.1
|
16
|
+
Private-Token:
|
17
|
+
- GITLAB_TOKEN
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 200
|
21
|
+
message: OK
|
22
|
+
headers:
|
23
|
+
Server:
|
24
|
+
- nginx
|
25
|
+
Date:
|
26
|
+
- Thu, 26 Mar 2020 17:18:41 GMT
|
27
|
+
Content-Type:
|
28
|
+
- application/json
|
29
|
+
Content-Length:
|
30
|
+
- '624'
|
31
|
+
Cache-Control:
|
32
|
+
- max-age=0, private, must-revalidate
|
33
|
+
Etag:
|
34
|
+
- W/"e1ac536e3864cf5aafd56c71c1b9b227"
|
35
|
+
Vary:
|
36
|
+
- Origin
|
37
|
+
X-Content-Type-Options:
|
38
|
+
- nosniff
|
39
|
+
X-Frame-Options:
|
40
|
+
- SAMEORIGIN
|
41
|
+
X-Gitlab-Blob-Id:
|
42
|
+
- 000fd9156a0f5c8518a34ab5117654d70ba01752
|
43
|
+
X-Gitlab-Commit-Id:
|
44
|
+
- 3cb2cae6db2f31fa91061a0e04cc2cbcc26502d6
|
45
|
+
X-Gitlab-Content-Sha256:
|
46
|
+
- f4c639c3d033e282387f0a2c2cdacad7c503ea74484735240fbd84198d48d6bc
|
47
|
+
X-Gitlab-Encoding:
|
48
|
+
- base64
|
49
|
+
X-Gitlab-File-Name:
|
50
|
+
- en.yml
|
51
|
+
X-Gitlab-File-Path:
|
52
|
+
- config/locales/en.yml
|
53
|
+
X-Gitlab-Last-Commit-Id:
|
54
|
+
- 3cb2cae6db2f31fa91061a0e04cc2cbcc26502d6
|
55
|
+
X-Gitlab-Ref:
|
56
|
+
- test_hook
|
57
|
+
X-Gitlab-Size:
|
58
|
+
- '188'
|
59
|
+
X-Request-Id:
|
60
|
+
- r1ybeUijJB4
|
61
|
+
X-Runtime:
|
62
|
+
- '0.049508'
|
63
|
+
Strict-Transport-Security:
|
64
|
+
- max-age=31536000
|
65
|
+
Referrer-Policy:
|
66
|
+
- strict-origin-when-cross-origin
|
67
|
+
Ratelimit-Limit:
|
68
|
+
- '600'
|
69
|
+
Ratelimit-Observed:
|
70
|
+
- '1'
|
71
|
+
Ratelimit-Remaining:
|
72
|
+
- '599'
|
73
|
+
Ratelimit-Reset:
|
74
|
+
- '1585243181'
|
75
|
+
Ratelimit-Resettime:
|
76
|
+
- Thu, 26 Mar 2020 17:19:41 GMT
|
77
|
+
Gitlab-Lb:
|
78
|
+
- fe-08-lb-gprd
|
79
|
+
Gitlab-Sv:
|
80
|
+
- localhost
|
81
|
+
body:
|
82
|
+
encoding: UTF-8
|
83
|
+
string: '{"file_name":"en.yml","file_path":"config/locales/en.yml","size":188,"encoding":"base64","content_sha256":"f4c639c3d033e282387f0a2c2cdacad7c503ea74484735240fbd84198d48d6bc","ref":"test_hook","blob_id":"000fd9156a0f5c8518a34ab5117654d70ba01752","commit_id":"3cb2cae6db2f31fa91061a0e04cc2cbcc26502d6","last_commit_id":"3cb2cae6db2f31fa91061a0e04cc2cbcc26502d6","content":"ZW46CiAgdGVzdDogdGVzdAogIHRlc3QyOiB0ZXN0MgogIHRlc3QzOiB0ZXN0MwogIHRlc3Q0OiB0ZXN0NAogIHRlc3Q1OiB0ZXN0NQogIHRlc3Q2OiB0ZXN0NgogIHRlc3Q3OiB0ZXN0NwogIHRlc3Q4OiB0ZXN0OAogIHRlc3Q5OiB0ZXN0OQogIHRlc3QxMDogdGVzdDEwCiAgdGVzdDExOiB0ZXN0MTEKICB0ZXN0MTI6IHRlc3QxMgo="}'
|
84
|
+
http_version:
|
85
|
+
recorded_at: Thu, 26 Mar 2020 17:18:42 GMT
|
86
|
+
- request:
|
87
|
+
method: get
|
88
|
+
uri: https://www.transifex.com/api/2/project/txgl-test/resource/enyml-heads_test_hook/
|
89
|
+
body:
|
90
|
+
encoding: US-ASCII
|
91
|
+
string: ''
|
92
|
+
headers:
|
93
|
+
User-Agent:
|
94
|
+
- Faraday v0.17.3
|
95
|
+
Authorization:
|
96
|
+
- Basic AUTH
|
97
|
+
Accept:
|
98
|
+
- application/json
|
99
|
+
Accept-Encoding:
|
100
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
101
|
+
response:
|
102
|
+
status:
|
103
|
+
code: 404
|
104
|
+
message: Not Found
|
105
|
+
headers:
|
106
|
+
Server:
|
107
|
+
- nginx
|
108
|
+
Vary:
|
109
|
+
- Authorization, Host, Accept-Language, Cookie
|
110
|
+
Cache-Control:
|
111
|
+
- no-cache, no-store, must-revalidate, max-age=0
|
112
|
+
Content-Type:
|
113
|
+
- text/plain
|
114
|
+
Date:
|
115
|
+
- Thu, 26 Mar 2020 17:18:42 GMT
|
116
|
+
Expires:
|
117
|
+
- Thu, 26 Mar 2020 17:18:42 GMT
|
118
|
+
Content-Language:
|
119
|
+
- en
|
120
|
+
Connection:
|
121
|
+
- keep-alive
|
122
|
+
Set-Cookie:
|
123
|
+
- X-Mapping-fjhppofk=371E5B112B2394FA3017E8BE0809059C; path=/
|
124
|
+
X-Frame-Options:
|
125
|
+
- SAMEORIGIN
|
126
|
+
Content-Length:
|
127
|
+
- '9'
|
128
|
+
body:
|
129
|
+
encoding: UTF-8
|
130
|
+
string: Not Found
|
131
|
+
http_version:
|
132
|
+
recorded_at: Thu, 26 Mar 2020 17:18:43 GMT
|
133
|
+
- request:
|
134
|
+
method: post
|
135
|
+
uri: https://www.transifex.com/api/2/project/txgl-test/resources/
|
136
|
+
body:
|
137
|
+
encoding: UTF-8
|
138
|
+
string: "-------------RubyMultipartPost-87145cb29ab8ab8b5cb748ea0ec95cdd\r\nContent-Disposition:
|
139
|
+
form-data; name=\"slug\"\r\n\r\nenyml-heads_test_hook\r\n-------------RubyMultipartPost-87145cb29ab8ab8b5cb748ea0ec95cdd\r\nContent-Disposition:
|
140
|
+
form-data; name=\"name\"\r\n\r\nconfig/locales/en.yml (heads/test_hook)\r\n-------------RubyMultipartPost-87145cb29ab8ab8b5cb748ea0ec95cdd\r\nContent-Disposition:
|
141
|
+
form-data; name=\"i18n_type\"\r\n\r\nYML\r\n-------------RubyMultipartPost-87145cb29ab8ab8b5cb748ea0ec95cdd\r\nContent-Disposition:
|
142
|
+
form-data; name=\"categories\"\r\n\r\nauthor:Ivan_Danci branch:heads/test_hook\r\n-------------RubyMultipartPost-87145cb29ab8ab8b5cb748ea0ec95cdd\r\nContent-Disposition:
|
143
|
+
form-data; name=\"content\"; filename=\"en.yml\"\r\nContent-Length: 188\r\nContent-Type:
|
144
|
+
application/octet-stream\r\nContent-Transfer-Encoding: binary\r\n\r\nen:\n
|
145
|
+
\ test: test\n test2: test2\n test3: test3\n test4: test4\n test5: test5\n
|
146
|
+
\ test6: test6\n test7: test7\n test8: test8\n test9: test9\n test10:
|
147
|
+
test10\n test11: test11\n test12: test12\n\r\n-------------RubyMultipartPost-87145cb29ab8ab8b5cb748ea0ec95cdd--\r\n"
|
148
|
+
headers:
|
149
|
+
User-Agent:
|
150
|
+
- Faraday v0.17.3
|
151
|
+
Authorization:
|
152
|
+
- Basic AUTH
|
153
|
+
Accept:
|
154
|
+
- application/json
|
155
|
+
Content-Type:
|
156
|
+
- multipart/form-data; boundary=-----------RubyMultipartPost-87145cb29ab8ab8b5cb748ea0ec95cdd
|
157
|
+
Content-Length:
|
158
|
+
- '1057'
|
159
|
+
Accept-Encoding:
|
160
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
161
|
+
response:
|
162
|
+
status:
|
163
|
+
code: 201
|
164
|
+
message: Created
|
165
|
+
headers:
|
166
|
+
Server:
|
167
|
+
- nginx
|
168
|
+
Vary:
|
169
|
+
- Authorization, Host, Accept-Language, Cookie
|
170
|
+
Cache-Control:
|
171
|
+
- no-cache, no-store, must-revalidate, max-age=0
|
172
|
+
Content-Type:
|
173
|
+
- application/json; charset=utf-8
|
174
|
+
Date:
|
175
|
+
- Thu, 26 Mar 2020 17:18:44 GMT
|
176
|
+
Expires:
|
177
|
+
- Thu, 26 Mar 2020 17:18:44 GMT
|
178
|
+
Content-Language:
|
179
|
+
- en
|
180
|
+
Connection:
|
181
|
+
- keep-alive
|
182
|
+
Set-Cookie:
|
183
|
+
- X-Mapping-fjhppofk=300CA58EE011BC6BC0E393EE4F2B31F6; path=/
|
184
|
+
X-Frame-Options:
|
185
|
+
- SAMEORIGIN
|
186
|
+
Content-Length:
|
187
|
+
- '10'
|
188
|
+
body:
|
189
|
+
encoding: UTF-8
|
190
|
+
string: "[12, 0, 0]"
|
191
|
+
http_version:
|
192
|
+
recorded_at: Thu, 26 Mar 2020 17:18:44 GMT
|
193
|
+
- request:
|
194
|
+
method: get
|
195
|
+
uri: https://www.transifex.com/api/2/project/txgl-test/resources/
|
196
|
+
body:
|
197
|
+
encoding: US-ASCII
|
198
|
+
string: ''
|
199
|
+
headers:
|
200
|
+
User-Agent:
|
201
|
+
- Faraday v0.17.3
|
202
|
+
Authorization:
|
203
|
+
- Basic AUTH
|
204
|
+
Accept:
|
205
|
+
- application/json
|
206
|
+
Accept-Encoding:
|
207
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
208
|
+
response:
|
209
|
+
status:
|
210
|
+
code: 200
|
211
|
+
message: OK
|
212
|
+
headers:
|
213
|
+
Server:
|
214
|
+
- nginx
|
215
|
+
Vary:
|
216
|
+
- Accept-Encoding
|
217
|
+
- Authorization, Host, Accept-Language, Cookie
|
218
|
+
Cache-Control:
|
219
|
+
- no-cache, no-store, must-revalidate, max-age=0
|
220
|
+
Content-Type:
|
221
|
+
- application/json; charset=utf-8
|
222
|
+
Date:
|
223
|
+
- Thu, 26 Mar 2020 17:18:45 GMT
|
224
|
+
Expires:
|
225
|
+
- Thu, 26 Mar 2020 17:18:45 GMT
|
226
|
+
Transfer-Encoding:
|
227
|
+
- chunked
|
228
|
+
Content-Language:
|
229
|
+
- en
|
230
|
+
X-Content-Type-Options:
|
231
|
+
- nosniff
|
232
|
+
Connection:
|
233
|
+
- keep-alive
|
234
|
+
Set-Cookie:
|
235
|
+
- X-Mapping-fjhppofk=371E5B112B2394FA3017E8BE0809059C; path=/
|
236
|
+
X-Frame-Options:
|
237
|
+
- SAMEORIGIN
|
238
|
+
body:
|
239
|
+
encoding: ASCII-8BIT
|
240
|
+
string: "[\n {\n \"source_language_code\": \"en\", \n \"name\":
|
241
|
+
\"config/locales/en.yml (heads/master)\", \n \"i18n_type\": \"YAML_GENERIC\",
|
242
|
+
\n \"priority\": \"0\", \n \"slug\": \"enyml-heads_master\",
|
243
|
+
\n \"categories\": [\n \"branch:heads/master\", \n \"author:Ivan_Danci\"\n
|
244
|
+
\ ], \n \"metadata\": []\n }, \n {\n \"source_language_code\":
|
245
|
+
\"en\", \n \"name\": \"config/locales/en.yml (heads/test_hook)\", \n
|
246
|
+
\ \"i18n_type\": \"YML\", \n \"priority\": \"1\", \n \"slug\":
|
247
|
+
\"enyml-heads_test_hook\", \n \"categories\": [\n \"author:Ivan_Danci
|
248
|
+
branch:heads/test_hook\"\n ], \n \"metadata\": []\n }\n]"
|
249
|
+
http_version:
|
250
|
+
recorded_at: Thu, 26 Mar 2020 17:18:45 GMT
|
251
|
+
- request:
|
252
|
+
method: get
|
253
|
+
uri: https://gitlab.com/api/v4/projects/idanci%2Ftxgl-test/repository/commits/test_hook
|
254
|
+
body:
|
255
|
+
encoding: US-ASCII
|
256
|
+
string: ''
|
257
|
+
headers:
|
258
|
+
Accept:
|
259
|
+
- application/json
|
260
|
+
Content-Type:
|
261
|
+
- application/x-www-form-urlencoded
|
262
|
+
User-Agent:
|
263
|
+
- Gitlab Ruby Gem 4.14.1
|
264
|
+
Private-Token:
|
265
|
+
- GITLAB_TOKEN
|
266
|
+
response:
|
267
|
+
status:
|
268
|
+
code: 200
|
269
|
+
message: OK
|
270
|
+
headers:
|
271
|
+
Server:
|
272
|
+
- nginx
|
273
|
+
Date:
|
274
|
+
- Thu, 26 Mar 2020 17:18:46 GMT
|
275
|
+
Content-Type:
|
276
|
+
- application/json
|
277
|
+
Content-Length:
|
278
|
+
- '636'
|
279
|
+
Cache-Control:
|
280
|
+
- max-age=0, private, must-revalidate
|
281
|
+
Etag:
|
282
|
+
- W/"e31b8cbd9e69b70652fc4d5ab91c71e9"
|
283
|
+
Vary:
|
284
|
+
- Origin
|
285
|
+
X-Content-Type-Options:
|
286
|
+
- nosniff
|
287
|
+
X-Frame-Options:
|
288
|
+
- SAMEORIGIN
|
289
|
+
X-Request-Id:
|
290
|
+
- kKqrmM19JN2
|
291
|
+
X-Runtime:
|
292
|
+
- '0.054249'
|
293
|
+
Strict-Transport-Security:
|
294
|
+
- max-age=31536000
|
295
|
+
Referrer-Policy:
|
296
|
+
- strict-origin-when-cross-origin
|
297
|
+
Ratelimit-Limit:
|
298
|
+
- '600'
|
299
|
+
Ratelimit-Observed:
|
300
|
+
- '2'
|
301
|
+
Ratelimit-Remaining:
|
302
|
+
- '598'
|
303
|
+
Ratelimit-Reset:
|
304
|
+
- '1585243186'
|
305
|
+
Ratelimit-Resettime:
|
306
|
+
- Thu, 26 Mar 2020 17:19:46 GMT
|
307
|
+
Gitlab-Lb:
|
308
|
+
- fe-03-lb-gprd
|
309
|
+
Gitlab-Sv:
|
310
|
+
- localhost
|
311
|
+
body:
|
312
|
+
encoding: UTF-8
|
313
|
+
string: '{"id":"3cb2cae6db2f31fa91061a0e04cc2cbcc26502d6","short_id":"3cb2cae6","created_at":"2020-03-26T18:39:57.000+02:00","parent_ids":["f5e0d6b6541e1fcded6b0a751b5a511523768109"],"title":"Test","message":"Test\n","author_name":"Ivan
|
314
|
+
Danci","author_email":"bah4uk@gmail.com","authored_date":"2020-03-26T18:39:57.000+02:00","committer_name":"Ivan
|
315
|
+
Danci","committer_email":"bah4uk@gmail.com","committed_date":"2020-03-26T18:39:57.000+02:00","web_url":"https://gitlab.com/idanci/txgl-test/-/commit/3cb2cae6db2f31fa91061a0e04cc2cbcc26502d6","stats":{"additions":1,"deletions":0,"total":1},"status":null,"project_id":17514841,"last_pipeline":null}'
|
316
|
+
http_version:
|
317
|
+
recorded_at: Thu, 26 Mar 2020 17:18:46 GMT
|
318
|
+
- request:
|
319
|
+
method: get
|
320
|
+
uri: https://www.transifex.com/api/2/project/txgl-test/resource/enyml-heads_test_hook/stats/
|
321
|
+
body:
|
322
|
+
encoding: US-ASCII
|
323
|
+
string: ''
|
324
|
+
headers:
|
325
|
+
User-Agent:
|
326
|
+
- Faraday v0.17.3
|
327
|
+
Authorization:
|
328
|
+
- Basic AUTH
|
329
|
+
Accept:
|
330
|
+
- application/json
|
331
|
+
Accept-Encoding:
|
332
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
333
|
+
response:
|
334
|
+
status:
|
335
|
+
code: 200
|
336
|
+
message: OK
|
337
|
+
headers:
|
338
|
+
Server:
|
339
|
+
- nginx
|
340
|
+
Vary:
|
341
|
+
- Accept-Encoding
|
342
|
+
- Authorization, Host, Accept-Language, Cookie
|
343
|
+
Cache-Control:
|
344
|
+
- no-cache, no-store, must-revalidate, max-age=0
|
345
|
+
Content-Type:
|
346
|
+
- application/json; charset=utf-8
|
347
|
+
Date:
|
348
|
+
- Thu, 26 Mar 2020 17:18:46 GMT
|
349
|
+
Expires:
|
350
|
+
- Thu, 26 Mar 2020 17:18:46 GMT
|
351
|
+
Transfer-Encoding:
|
352
|
+
- chunked
|
353
|
+
Content-Language:
|
354
|
+
- en
|
355
|
+
X-Content-Type-Options:
|
356
|
+
- nosniff
|
357
|
+
Connection:
|
358
|
+
- keep-alive
|
359
|
+
Set-Cookie:
|
360
|
+
- X-Mapping-fjhppofk=100E7CB61F7D5C274279F09EADF920A3; path=/
|
361
|
+
X-Frame-Options:
|
362
|
+
- SAMEORIGIN
|
363
|
+
body:
|
364
|
+
encoding: ASCII-8BIT
|
365
|
+
string: "{\n \"de\": {\n \"proofread\": 0, \n \"proofread_percentage\":
|
366
|
+
\"0%\", \n \"reviewed_percentage\": \"0%\", \n \"completed\":
|
367
|
+
\"0%\", \n \"untranslated_words\": 12, \n \"last_commiter\":
|
368
|
+
\"txgh.user\", \n \"reviewed\": 0, \n \"translated_entities\":
|
369
|
+
0, \n \"translated_words\": 0, \n \"last_update\": \"2020-03-26
|
370
|
+
17:18:43\", \n \"untranslated_entities\": 12\n }, \n \"en\":
|
371
|
+
{\n \"proofread\": 0, \n \"proofread_percentage\": \"0%\", \n
|
372
|
+
\ \"reviewed_percentage\": \"0%\", \n \"completed\": \"100%\",
|
373
|
+
\n \"untranslated_words\": 0, \n \"last_commiter\": \"txgh.user\",
|
374
|
+
\n \"reviewed\": 0, \n \"translated_entities\": 12, \n \"translated_words\":
|
375
|
+
12, \n \"last_update\": \"2020-03-26 17:18:43\", \n \"untranslated_entities\":
|
376
|
+
0\n }\n}"
|
377
|
+
http_version:
|
378
|
+
recorded_at: Thu, 26 Mar 2020 17:18:46 GMT
|
379
|
+
- request:
|
380
|
+
method: post
|
381
|
+
uri: https://gitlab.com/api/v4/projects/idanci%2Ftxgl-test/statuses/3cb2cae6?context=continuous-localization/txgh&description=12/24%20translations%20complete.&state=pending&target_url=https://www.transifex.com/lumos-labs/txgl-test/content
|
382
|
+
body:
|
383
|
+
encoding: UTF-8
|
384
|
+
string: ''
|
385
|
+
headers:
|
386
|
+
Accept:
|
387
|
+
- application/json
|
388
|
+
Content-Type:
|
389
|
+
- application/x-www-form-urlencoded
|
390
|
+
User-Agent:
|
391
|
+
- Gitlab Ruby Gem 4.14.1
|
392
|
+
Private-Token:
|
393
|
+
- GITLAB_TOKEN
|
394
|
+
response:
|
395
|
+
status:
|
396
|
+
code: 201
|
397
|
+
message: Created
|
398
|
+
headers:
|
399
|
+
Server:
|
400
|
+
- nginx
|
401
|
+
Date:
|
402
|
+
- Thu, 26 Mar 2020 17:18:48 GMT
|
403
|
+
Content-Type:
|
404
|
+
- application/json
|
405
|
+
Content-Length:
|
406
|
+
- '593'
|
407
|
+
Cache-Control:
|
408
|
+
- max-age=0, private, must-revalidate
|
409
|
+
Etag:
|
410
|
+
- W/"7afbf8aec65349a3c64cf3b78e44c03e"
|
411
|
+
Vary:
|
412
|
+
- Origin
|
413
|
+
X-Content-Type-Options:
|
414
|
+
- nosniff
|
415
|
+
X-Frame-Options:
|
416
|
+
- SAMEORIGIN
|
417
|
+
X-Request-Id:
|
418
|
+
- XxeNSIHmZ89
|
419
|
+
X-Runtime:
|
420
|
+
- '0.267418'
|
421
|
+
Strict-Transport-Security:
|
422
|
+
- max-age=31536000
|
423
|
+
Referrer-Policy:
|
424
|
+
- strict-origin-when-cross-origin
|
425
|
+
Ratelimit-Limit:
|
426
|
+
- '600'
|
427
|
+
Ratelimit-Observed:
|
428
|
+
- '2'
|
429
|
+
Ratelimit-Remaining:
|
430
|
+
- '598'
|
431
|
+
Ratelimit-Reset:
|
432
|
+
- '1585243188'
|
433
|
+
Ratelimit-Resettime:
|
434
|
+
- Thu, 26 Mar 2020 17:19:48 GMT
|
435
|
+
Gitlab-Lb:
|
436
|
+
- fe-21-lb-gprd
|
437
|
+
Gitlab-Sv:
|
438
|
+
- localhost
|
439
|
+
body:
|
440
|
+
encoding: UTF-8
|
441
|
+
string: '{"id":487202387,"sha":"3cb2cae6db2f31fa91061a0e04cc2cbcc26502d6","ref":"test_hook","status":"pending","name":"continuous-localization/txgh","target_url":"https://www.transifex.com/lumos-labs/txgl-test/content","description":"12/24
|
442
|
+
translations complete.","created_at":"2020-03-26T17:18:48.294Z","started_at":null,"finished_at":null,"allow_failure":false,"coverage":null,"author":{"id":745271,"name":"Ivan
|
443
|
+
Danci","username":"idanci","state":"active","avatar_url":"https://secure.gravatar.com/avatar/dbda838e9b7bca615829ac151e01f3c0?s=80\u0026d=identicon","web_url":"https://gitlab.com/idanci"}}'
|
444
|
+
http_version:
|
445
|
+
recorded_at: Thu, 26 Mar 2020 17:18:48 GMT
|
446
|
+
recorded_with: VCR 3.0.3
|