@@ -31,7 +31,7 @@ use Cwd qw(cwd);
3131
3232repeat_each(2);
3333
34- plan tests => repeat_each() * (blocks() * 8 ) - 2 ;
34+ plan tests => repeat_each() * (blocks() * 8 ) - 6 ;
3535
3636my $pwd = cwd();
3737
@@ -275,3 +275,47 @@ X-User-Name: display_name-%E5%B7%A5%EF%BC%8D%E5%A5%B3%EF%BC%8D%E9%95%BF
275275--- error_code: 200
276276--- no_error_log
277277[error]
278+
279+ === TEST 5: test ims_profile with a null name field
280+ --- http_config eval: $::HttpConfig
281+ --- config
282+ include ../../api-gateway/api-gateway-cache.conf;
283+ include ../../api-gateway/default_validators.conf;
284+
285+ error_log ../test-logs/userProfileValidator_test5_error.log debug;
286+
287+ location /test-validate-user {
288+ set $service_id s-123;
289+ # get OAuth token either from header or from the user_token query string
290+ set $authtoken $http_authorization;
291+ set_if_empty $authtoken $arg_user_token;
292+ set_by_lua $authtoken 'return ngx.re.gsub(ngx.arg[1], "bearer ", "","ijo") ' $authtoken;
293+
294+ set $validate_user_profile on;
295+
296+ access_by_lua "ngx.apiGateway.validation.validateRequest()";
297+ content_by_lua 'ngx.say("user_email=" .. ngx.var.user_email .. ",user_country_code=" .. ngx.var.user_country_code .. ",user_region=" .. ngx.var.user_region .. ",user_name=" .. ngx.var.user_name)';
298+
299+ add_header X-User-Id $user_email;
300+ add_header X-User-Country-Code $user_country_code;
301+ add_header X-User-Region $user_region;
302+ add_header X-User-Name $user_name;
303+ }
304+
305+ location /validate-user {
306+ internal;
307+ return 200 '{"countryCode":null,"emailVerified":"true","email":"noreply-ăâ@domain.com","userId":"1234","name":"full name","displayName":"display_name-工-女-长","last_name": null,"first_name": null}';
308+ }
309+ --- more_headers
310+ Authorization: Bearer SOME_OAUTH_TOKEN_TEST_FIVE
311+ --- request
312+ GET /test-validate-user
313+ --- response_body_like eval
314+ "^user_email=noreply-ăâ\@domain.com,user_country_code=,user_region=US,user_name=display_name-%E5%B7%A5%EF%BC%8D%E5%A5%B3%EF%BC%8D%E9%95%BF.*"
315+ --- response_headers_like
316+ X-User-Id: noreply-ăâ@domain.com
317+ X-User-Region: US
318+ X-User-Name: display_name-%E5%B7%A5%EF%BC%8D%E5%A5%B3%EF%BC%8D%E9%95%BF
319+ --- error_code: 200
320+ --- no_error_log
321+ [error]
0 commit comments