|
162 | 162 | 'x' => 'y', |
163 | 163 | 'ads_password' => 'ads_123', |
164 | 164 | 'my_password' => 'login_123', |
| 165 | + 'private_key' => '-----TEST----- |
| 166 | +abc |
| 167 | +123 |
| 168 | +-----END TEST-----', |
165 | 169 | 'alias.user' => 'qa+test@gooddata.com', |
166 | 170 | 'alias.segment' => 'UserTestSegmentK8s', |
167 | 171 | 'gd_encoded_params' => '{"login_username": "${alias.user}", |
168 | 172 | "login_password": "abc_${my_password}_123" , |
169 | 173 | "SEGMENTS_FILTER": ["${alias.segment}"], |
| 174 | + "connection": { |
| 175 | + "username": "${alias.user}", |
| 176 | + "db_private_key": "${private_key}" |
| 177 | + }, |
170 | 178 | "technical_user": ["${alias.user}"]}' |
171 | 179 | } |
172 | 180 | expected_result = { |
173 | 181 | 'x' => 'y', |
174 | 182 | 'ads_password' => 'ads_123', |
175 | 183 | 'my_password' => 'login_123', |
| 184 | + 'private_key' => '-----TEST----- |
| 185 | +abc |
| 186 | +123 |
| 187 | +-----END TEST-----', |
176 | 188 | 'alias.user' => 'qa+test@gooddata.com', |
177 | 189 | 'alias.segment' => 'UserTestSegmentK8s', |
178 | 190 | 'login_username' => 'qa+test@gooddata.com', |
179 | 191 | 'login_password' => 'abc_login_123_123', |
180 | 192 | 'SEGMENTS_FILTER' => ["UserTestSegmentK8s"], |
| 193 | + 'connection' => { |
| 194 | + 'username' => 'qa+test@gooddata.com', |
| 195 | + 'db_private_key' => '-----TEST----- |
| 196 | +abc |
| 197 | +123 |
| 198 | +-----END TEST-----' |
| 199 | + }, |
181 | 200 | 'technical_user' => ["qa+test@gooddata.com"] |
182 | 201 | } |
183 | 202 | result = GoodData::Helpers.decode_params(params, :resolve_reference_params => true) |
|
211 | 230 | expect(result).to eq(expected_result) |
212 | 231 | end |
213 | 232 |
|
214 | | - it 'should encode escape reference parameters in gd_encoded_params' do |
215 | | - params = { |
216 | | - 'x' => 'y', |
217 | | - 'ads_password' => 'ads_123', |
218 | | - 'my_password' => 'login_123', |
219 | | - 'gd_encoded_params' => '{"login_username": "login_user", "data01": "\\${abc}"}' |
220 | | - } |
221 | | - expected_result = { |
222 | | - 'x' => 'y', |
223 | | - 'ads_password' => 'ads_123', |
224 | | - 'my_password' => 'login_123', |
225 | | - 'login_username' => 'login_user', |
226 | | - 'data01' => '${abc}' |
227 | | - } |
228 | | - result = GoodData::Helpers.decode_params(params, :resolve_reference_params => true) |
229 | | - expect(result).to eq(expected_result) |
230 | | - end |
231 | | - |
232 | | - it 'should encode reference parameters in nested block in gd_encoded_params' do |
233 | | - params = { |
234 | | - 'x' => 'y', |
235 | | - 'ads_password' => 'ads_123', |
236 | | - 'my_password' => 'login_123', |
237 | | - 'gd_encoded_params' => '{"login_username": "login_user", "ads_client": {"username": "ads_user", "password": "${ads_password}"}}' |
238 | | - } |
239 | | - expected_result = { |
240 | | - 'x' => 'y', |
241 | | - 'ads_password' => 'ads_123', |
242 | | - 'my_password' => 'login_123', |
243 | | - 'login_username' => 'login_user', |
244 | | - 'ads_client' => { |
245 | | - 'username' => 'ads_user', |
246 | | - 'password' => 'ads_123' |
247 | | - } |
248 | | - } |
249 | | - result = GoodData::Helpers.decode_params(params, :resolve_reference_params => true) |
250 | | - expect(result).to eq(expected_result) |
251 | | - end |
252 | | - |
253 | | - it 'should convert all values into String' do |
254 | | - params = { |
255 | | - x: true, |
256 | | - y: ['hello', false], |
257 | | - z: { |
258 | | - z1: false, |
259 | | - z2: [true], |
260 | | - z3: [[[false]]] |
261 | | - } |
262 | | - } |
263 | | - expected_result = { |
264 | | - x: 'true', |
265 | | - y: %w(hello false), |
266 | | - z: { |
267 | | - z1: 'false', |
268 | | - z2: ['true'], |
269 | | - z3: [[['false']]] |
270 | | - } |
271 | | - } |
272 | | - result = GoodData::Helpers.stringify_values(params) |
273 | | - expect(result).to eq(expected_result) |
274 | | - end |
275 | | - end |
276 | | - |
277 | | - describe '.interpolate_error_message' do |
278 | | - let(:error_message) { { 'error' => { 'message' => 'foo %s', 'parameters' => ['bar'] } } } |
279 | | - |
280 | | - before do |
281 | | - @message = GoodData::Helpers.interpolate_error_message(error_message) |
282 | | - end |
283 | | - |
284 | | - it 'interpolates parameters' do |
285 | | - expect(@message).to eq('foo bar') |
286 | | - end |
287 | | - |
288 | | - context 'when error parameter is empty' do |
289 | | - let(:error_message) { {} } |
290 | | - it 'returns nil' do |
291 | | - expect(@message).to be_nil |
292 | | - end |
293 | | - end |
294 | | - |
295 | | - context 'when error key is empty' do |
296 | | - let(:error_message) { { 'error' => {} } } |
297 | | - it 'returns nil' do |
298 | | - expect(@message).to be_nil |
299 | | - end |
300 | | - end |
301 | | - end |
302 | | - |
303 | | - describe '.decode_params' do |
304 | | - it 'interpolates reference parameters in additional_hidden_params' do |
305 | | - params = { |
306 | | - 'gd_encoded_hidden_params' => '{ "additional_hidden_params": { "secret": "${my_password}" } }', |
307 | | - 'my_password' => "123" |
308 | | - } |
309 | | - expected_result = { |
310 | | - 'gd_encoded_hidden_params' => nil, |
311 | | - 'additional_hidden_params' => { 'secret' => '123' }, |
312 | | - 'my_password' => '123' |
313 | | - } |
314 | | - result = GoodData::Helpers.decode_params(params, :resolve_reference_params => true) |
315 | | - expect(result).to eq(expected_result) |
316 | | - end |
317 | 233 | end |
318 | 234 | end |
0 commit comments