Commit 44f1a1a5 authored by Soldatoff's avatar Soldatoff

Set up tests for new codeSet up tests for new code

parent 4645e70c
# TODO: # TODO:
%def_without test
%define biname nginx-redirector %define biname nginx-redirector
Name: nginx-redirector Name: nginx-redirector
...@@ -50,6 +49,10 @@ mkdir -p %buildroot/var/log/%biname ...@@ -50,6 +49,10 @@ mkdir -p %buildroot/var/log/%biname
install -pD -m644 nginx-redirector.service %buildroot%systemd_unitdir/nginx-redirector.service install -pD -m644 nginx-redirector.service %buildroot%systemd_unitdir/nginx-redirector.service
%check %check
DIR=$(pwd)
env -i CONFIG_DIR=$DIR/redirector/tests/nginx_test_case/location-includes \
CONFIG=$DIR/redirector/tests/test.yaml \
MAPS_DIR=$DIR/redirector/tests/nginx_test_case/maps \
%python3_test %python3_test
%files %files
......
projects: projects:
- map: ./test.map - map: redirector/tests/test.map
prefix: /test prefix: /test
name: /
...@@ -26,7 +26,7 @@ class Generator: ...@@ -26,7 +26,7 @@ class Generator:
def generate(self, redirects_data, project_name, arg_map = None): def generate(self, redirects_data, project_name, arg_map = None):
arg = self.get_essential(arg_map) arg = self.get_essential(arg_map)
redirects_map = self.map_gen.generate_map(redirects_data[0], arg) redirects_map = self.map_gen.generate_map(redirects_data[0], arg)
redirects_with_options = self.map_gen.generate_opt_map(redirects_data[1], arg["project_name"])#need test redirects_with_options = self.map_gen.generate_opt_map(redirects_data[1], arg)
conf_data = self.conf_gen.generate_config(arg["project_name"], [code for code, data in redirects_with_options],arg["prefix"]) conf_data = self.conf_gen.generate_config(arg["project_name"], [code for code, data in redirects_with_options],arg["prefix"])
maps_dir, config_dir = self.get_conf_dirs() maps_dir, config_dir = self.get_conf_dirs()
...@@ -75,16 +75,25 @@ class MapGenerator: ...@@ -75,16 +75,25 @@ class MapGenerator:
data += self.endline data += self.endline
return data return data
def generate_opt_map(self, redirect_dict, project_name): def generate_opt_map(self, redirect_dict, arg):
result = [] result = []
for code, redirects in redirect_dict.items(): for code, redirects in redirect_dict.items():
if code == "301": if code == "301":
code = "permanent" code = "permanent"
data = self.opt_start_line % (arg["project_name"], code)
for arg1, arg2 in redirects:
data += "\n\t%s\t%s;" % (arg["prefix"]+arg1, arg2)
data += self.endline
elif code == "302": elif code == "302":
code = "redirect" code = "redirect"
data = self.opt_start_line % (project_name, code) data = self.opt_start_line % (arg["project_name"], code)
for arg1, arg2 in redirects:
data += "\n\t%s\t%s;" % (arg["prefix"]+arg1, arg["prefix"]+arg2)
data += self.endline
elif code == "status=301":
data = self.opt_start_line % (arg["project_name"], code)
for arg1, arg2 in redirects: for arg1, arg2 in redirects:
data += "\n\t%s\t%s;" % (arg1, arg2) data += "\n\t%s\t%s;" % (arg["prefix"]+arg1, arg["prefix"]+arg2)
data += self.endline data += self.endline
result.append((code, data)) result.append((code, data))
return result return result
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment