TSG-6535 代理支持重定向URL携带用户信息

test_patter_replace增加UrlReplace测试用例
This commit is contained in:
fengweihao
2021-06-10 15:28:45 +08:00
parent bd01e15472
commit d18b647ec5
3 changed files with 147 additions and 4 deletions

View File

@@ -173,6 +173,61 @@ TEST(PatternReplace, QueryAdd)
printf("%s\n", output);
free(output);
return;
}
TEST(PatternReplace, UrlReplace)
{
int i=0, n_rule=0;
char replace_with[TFE_SYMBOL_MAX]={0};
struct replace_rule *rule;
char *rewrite_uri=NULL;
const char *rd_url = "http://www.example.com/query?pageid=12345&policy_id={{tsg_policy_id}}&user_id={{tsg_subscriber_id}}&source_ip={{tsg_client_ip}}";
if(strstr(rd_url, "policy_id")==NULL && strstr(rd_url, "user_id")==NULL && strstr(rd_url, "source_ip")==NULL)
{
return;
}
rule = ALLOC(struct replace_rule, 3);
n_rule=0;
rule[n_rule].zone = kZoneRequestUri;
rule[n_rule].find = tfe_strdup("policy_id={{tsg_policy_id}}");
snprintf(replace_with, TFE_SYMBOL_MAX, "policy_id=%d", 23);
rule[n_rule].replace_with = tfe_strdup(replace_with);
n_rule=1;
memset(replace_with, TFE_SYMBOL_MAX, 0);
rule[n_rule].zone = kZoneRequestUri;
rule[n_rule].find = tfe_strdup("user_id={{tsg_subscriber_id}}");
rule[n_rule].replace_with = tfe_strdup("user_id=te&st01");
n_rule=2;
memset(replace_with, TFE_SYMBOL_MAX, 0);
rule[n_rule].zone = kZoneRequestUri;
rule[n_rule].find = tfe_strdup("source_ip={{tsg_client_ip}}");
rule[n_rule].replace_with = tfe_strdup("source_ip=192.168.50.71");
size_t rewrite_uri_sz = execute_replace_rule(rd_url, strlen(rd_url), kZoneRequestUri, rule, n_rule+1, &rewrite_uri, 1);
for(i=0; i<n_rule+1; i++)
{
FREE(&(rule[i].find));
FREE(&(rule[i].replace_with));
}
FREE(&rule);
if(rewrite_uri_sz > 0 && rewrite_uri != NULL)
{
printf("rewrite_uri = %s\n", rewrite_uri);
free(rewrite_uri);
}
else
{
printf("rd_url = %s\n", rd_url);
}
return;
}