Tests: added migration test for "share".
This commit is contained in:
@@ -356,7 +356,7 @@ def run(request):
|
|||||||
_check_alerts(log=log)
|
_check_alerts(log=log)
|
||||||
|
|
||||||
|
|
||||||
def unit_run():
|
def unit_run(state_dir=None):
|
||||||
global unit_instance
|
global unit_instance
|
||||||
|
|
||||||
if not option.restart and 'unitd' in unit_instance:
|
if not option.restart and 'unitd' in unit_instance:
|
||||||
@@ -374,7 +374,9 @@ def unit_run():
|
|||||||
if oct(stat.S_IMODE(os.stat(build_dir).st_mode)) != '0o777':
|
if oct(stat.S_IMODE(os.stat(build_dir).st_mode)) != '0o777':
|
||||||
public_dir(build_dir)
|
public_dir(build_dir)
|
||||||
|
|
||||||
os.mkdir(temp_dir + '/state')
|
state = temp_dir + '/state' if state_dir is None else state_dir
|
||||||
|
if not os.path.isdir(state):
|
||||||
|
os.mkdir(state)
|
||||||
|
|
||||||
unitd_args = [
|
unitd_args = [
|
||||||
unitd,
|
unitd,
|
||||||
@@ -382,7 +384,7 @@ def unit_run():
|
|||||||
'--modules',
|
'--modules',
|
||||||
build_dir,
|
build_dir,
|
||||||
'--state',
|
'--state',
|
||||||
temp_dir + '/state',
|
state,
|
||||||
'--pid',
|
'--pid',
|
||||||
temp_dir + '/unit.pid',
|
temp_dir + '/unit.pid',
|
||||||
'--log',
|
'--log',
|
||||||
@@ -414,7 +416,8 @@ def unit_run():
|
|||||||
with open(temp_dir + '/unit.pid', 'r') as f:
|
with open(temp_dir + '/unit.pid', 'r') as f:
|
||||||
unit_instance['pid'] = f.read().rstrip()
|
unit_instance['pid'] = f.read().rstrip()
|
||||||
|
|
||||||
_clear_conf(unit_instance['temp_dir'] + '/control.unit.sock')
|
if state_dir is None:
|
||||||
|
_clear_conf(unit_instance['temp_dir'] + '/control.unit.sock')
|
||||||
|
|
||||||
_fds_info['main']['fds'] = _count_fds(unit_instance['pid'])
|
_fds_info['main']['fds'] = _count_fds(unit_instance['pid'])
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
import os
|
import os
|
||||||
|
import shutil
|
||||||
import socket
|
import socket
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
from conftest import unit_run, unit_stop
|
||||||
from unit.applications.proto import TestApplicationProto
|
from unit.applications.proto import TestApplicationProto
|
||||||
from unit.option import option
|
from unit.option import option
|
||||||
from unit.utils import waitforfiles
|
from unit.utils import waitforfiles
|
||||||
@@ -40,6 +42,49 @@ class TestStatic(TestApplicationProto):
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def test_static_migration(self, skip_fds_check, temp_dir):
|
||||||
|
skip_fds_check(True, True, True)
|
||||||
|
|
||||||
|
def set_conf_version(path, version):
|
||||||
|
with open(path, 'w+') as f:
|
||||||
|
f.write(str(version))
|
||||||
|
|
||||||
|
with open(temp_dir + '/state/version', 'r') as f:
|
||||||
|
assert int(f.read().rstrip()) > 12500, 'current version'
|
||||||
|
|
||||||
|
assert 'success' in self.conf(
|
||||||
|
{"share": temp_dir + "/assets"}, 'routes/0/action'
|
||||||
|
), 'configure migration 12500'
|
||||||
|
|
||||||
|
shutil.copytree(temp_dir + '/state', temp_dir + '/state_copy_12500')
|
||||||
|
set_conf_version(temp_dir + '/state_copy_12500/version', 12500)
|
||||||
|
|
||||||
|
assert 'success' in self.conf(
|
||||||
|
{"share": temp_dir + "/assets$uri"}, 'routes/0/action'
|
||||||
|
), 'configure migration 12600'
|
||||||
|
shutil.copytree(temp_dir + '/state', temp_dir + '/state_copy_12600')
|
||||||
|
set_conf_version(temp_dir + '/state_copy_12600/version', 12600)
|
||||||
|
|
||||||
|
assert 'success' in self.conf(
|
||||||
|
{"share": temp_dir + "/assets"}, 'routes/0/action'
|
||||||
|
), 'configure migration no version'
|
||||||
|
shutil.copytree(
|
||||||
|
temp_dir + '/state', temp_dir + '/state_copy_no_version'
|
||||||
|
)
|
||||||
|
os.remove(temp_dir + '/state_copy_no_version/version')
|
||||||
|
|
||||||
|
unit_stop()
|
||||||
|
unit_run(temp_dir + '/state_copy_12500')
|
||||||
|
assert self.get(url='/')['body'] == '0123456789', 'before 1.26.0'
|
||||||
|
|
||||||
|
unit_stop()
|
||||||
|
unit_run(temp_dir + '/state_copy_12600')
|
||||||
|
assert self.get(url='/')['body'] == '0123456789', 'after 1.26.0'
|
||||||
|
|
||||||
|
unit_stop()
|
||||||
|
unit_run(temp_dir + '/state_copy_no_version')
|
||||||
|
assert self.get(url='/')['body'] == '0123456789', 'before 1.26.0 2'
|
||||||
|
|
||||||
def test_static_index(self):
|
def test_static_index(self):
|
||||||
assert self.get(url='/index.html')['body'] == '0123456789', 'index'
|
assert self.get(url='/index.html')['body'] == '0123456789', 'index'
|
||||||
assert self.get(url='/')['body'] == '0123456789', 'index 2'
|
assert self.get(url='/')['body'] == '0123456789', 'index 2'
|
||||||
|
|||||||
Reference in New Issue
Block a user