update tests

This commit is contained in:
egarette@silique.fr 2023-01-23 20:21:42 +01:00
parent aa09ef03ea
commit c09ab0c794
7 changed files with 38 additions and 18 deletions

View file

@ -67,6 +67,11 @@
<variable name="oauth2_client_external" redefine="True" remove_fill="True"/> <variable name="oauth2_client_external" redefine="True" remove_fill="True"/>
</family> </family>
</family> </family>
<family name="postgresql">
<variable name="pg_client_key_owner" redefine="True">
<value>forgejo</value>
</variable>
</family>
</variables> </variables>
<constraints> <constraints>
<fill name="get_password"> <fill name="get_password">

View file

@ -8,3 +8,4 @@ auth_server: %%oauth2_server_domainname
username: %%username username: %%username
password: %%get_password(server_name='test', username=%%username, description='test', type="cleartext", hide=%%hide_secret, temporary=True) password: %%get_password(server_name='test', username=%%username, description='test', type="cleartext", hide=%%hide_secret, temporary=True)
forgejo_title: "%%forgejo_title" forgejo_title: "%%forgejo_title"
git_url: "[%%domain]:2222"

View file

@ -7,7 +7,7 @@ from shutil import move
from glob import glob from glob import glob
from tempfile import TemporaryDirectory from tempfile import TemporaryDirectory
from subprocess import run from subprocess import run
from dulwich.porcelain import init, clone, add, commit, push from dulwich.porcelain import init, clone, add, commit, push, pull
from revprox import Authentication from revprox import Authentication
@ -15,13 +15,14 @@ from mookdns import MookDnsSystem
PORT = '3000' PORT = '3000'
FORGEJO_USERNAME = 'forgejo' FORGEJO_USERNAME = 'git'
FORGEJO_PORT = '2222' FORGEJO_PORT = '2222'
KEY_FILE = '/var/lib/risotto/srv/hosts/forgejo' KEY_FILE = '/var/lib/risotto/srv/hosts/forgejo'
# transition between gitea and forgejo # transition between gitea and forgejo
GITEA_KEY_FILE = '/var/lib/risotto/srv/hosts/gitea' GITEA_KEY_FILE = '/var/lib/risotto/srv/hosts/gitea'
CONFIG_SSH = expandvars('$HOME/.ssh/config') CONFIG_SSH = expandvars('$HOME/.ssh/config')
CONFIG_GIT = expandvars('$HOME/.gitconfig') CONFIG_GIT = expandvars('$HOME/.gitconfig')
CONFIG_KNOWN_HOST = expandvars('$HOME/.ssh/known_hosts')
AUTHENTICATION = None AUTHENTICATION = None
@ -193,6 +194,8 @@ def test_repo():
if 'FIRST_RUN' in environ: if 'FIRST_RUN' in environ:
# delete_ssh_key(authentication, data) # delete_ssh_key(authentication, data)
add_ssh_key(authentication, data) add_ssh_key(authentication, data)
cmd = ['/usr/bin/ssh-keygen', '-f', CONFIG_KNOWN_HOST, '-R', data['git_url']]
run(cmd)
if not isfile(KEY_FILE): if not isfile(KEY_FILE):
if isfile(GITEA_KEY_FILE): if isfile(GITEA_KEY_FILE):
move(GITEA_KEY_FILE, KEY_FILE) move(GITEA_KEY_FILE, KEY_FILE)
@ -292,6 +295,8 @@ def test_repo_persistent():
# add a new line in file and commit # add a new line in file and commit
with open(filename, 'a') as fh: with open(filename, 'a') as fh:
fh.write('\ntest') fh.write('\ntest')
with open(filename, 'r') as fh:
len_line = len(fh.read().split('\n'))
add(repo, filename) add(repo, filename)
date = datetime.datetime.now() date = datetime.datetime.now()
commit_message = f'test commit {date}'.encode() commit_message = f'test commit {date}'.encode()
@ -301,7 +306,12 @@ def test_repo_persistent():
refspecs='master', refspecs='master',
) )
# test if commit is added and last commit # test if commit is added and last commit
pull(repo=repo,
remote_location=ssh_url,
refspecs='master',
)
lst = list(repo.get_walker()) lst = list(repo.get_walker())
len_after_commit = len(lst) len_after_commit = len(lst)
assert len_after_commit == len_line
assert len_before_commit + 1 == len_after_commit assert len_before_commit + 1 == len_after_commit
assert lst[-1].commit.message == commit_message assert lst[0].commit.message == commit_message

View file

@ -13,7 +13,7 @@
<service name="risotto-images" type="timer" engine="cheetah"/> <service name="risotto-images" type="timer" engine="cheetah"/>
<service name="risottofirewall" engine="cheetah"/> <service name="risottofirewall" engine="cheetah"/>
<service name="systemd-nspawn@"> <service name="systemd-nspawn@">
<file>/usr/local/lib/risotto-tmpfiles.d/0asystemd-nspawn.conf</file> <file>/tmpfiles.d/0asystemd-nspawn.conf</file>
<file>/etc/systemd/system/systemd-nspawn@.service.d/systemd-nspawn@.conf</file> <file>/etc/systemd/system/systemd-nspawn@.service.d/systemd-nspawn@.conf</file>
<file>/etc/distro.repos.d/boot.repo</file> <file>/etc/distro.repos.d/boot.repo</file>
<file engine="none">/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-35-x86_64</file> <file engine="none">/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-35-x86_64</file>
@ -58,6 +58,7 @@
<value>python3-dulwich</value> <value>python3-dulwich</value>
<value>python3-psycopg2</value> <value>python3-psycopg2</value>
<value>python3-redis</value> <value>python3-redis</value>
<value>python3-imaplib2</value>
</variable> </variable>
<family name="network"> <family name="network">
<variable name="output_interface" description="Nom de l'interface de sortie" mandatory="True"/> <variable name="output_interface" description="Nom de l'interface de sortie" mandatory="True"/>

View file

@ -22,7 +22,7 @@
</variables> </variables>
<constraints> <constraints>
<fill name="calc_value"> <fill name="calc_value">
<param>/usr/local/lib/sbin/network-</param> <param>/sbin/network-</param>
<param type="variable">machined.machines</param> <param type="variable">machined.machines</param>
<param name="join"></param> <param name="join"></param>
<param name="multi" type="boolean">True</param> <param name="multi" type="boolean">True</param>

View file

@ -1,7 +1,5 @@
D /usr/local/lib/sbin/ 0755 root root - -
D /etc/systemd/nspawn/ 0755 root root - - D /etc/systemd/nspawn/ 0755 root root - -
D /etc/systemd/network/ 0755 root root - - D /etc/systemd/network/ 0755 root root - -
D /usr/local/lib/systemd/system/ 0755 root root - -
D /etc/systemd/system/machines.target.wants/ 0755 root root - - D /etc/systemd/system/machines.target.wants/ 0755 root root - -
d /var/lib/risotto/configurations/ 0755 root root - - d /var/lib/risotto/configurations/ 0755 root root - -
r /etc/network/interfaces - - - - - r /etc/network/interfaces - - - - -

View file

@ -1,5 +1,6 @@
from yaml import load, SafeLoader from yaml import load, SafeLoader
from os import environ from os import environ
from os.path import isfile
import pytest import pytest
import datetime import datetime
@ -7,18 +8,22 @@ from imaplib2 import IMAP4_SSL
from smtplib import SMTP, SMTPNotSupportedError, SMTPAuthenticationError from smtplib import SMTP, SMTPNotSupportedError, SMTPAuthenticationError
conf_file = f'{environ["MACHINE_TEST_DIR"]}/imap.yml' conf_file = f'{environ["MACHINE_TEST_DIR"]}/imap.yml'
with open(conf_file) as yaml: if not isfile(conf_file):
data = load(yaml, Loader=SafeLoader) print('no IMAP server, so desactived')
parameters = ( parameters = ()
(1, 5, 'user', data['username'], data['username'], data['username'], [data['password']]), else:
(2, 5, 'user', data['username'], data['username'], 'alias_' + data['username'], [data['password']]), NO_DATA=False
(1, 3, 'family', data['username_family'], data['username_family'], data['username_family'], [data['password_family'], data['password_family'] + "2"]), with open(conf_file) as yaml:
(3, 5, 'user', data['username'], data['ext_username'], data['username'], [data['password']]), data = load(yaml, Loader=SafeLoader)
(4, 5, 'user', data['username'], data['ext_username'], 'alias_' + data['username'], [data['password']]), parameters = (
(2, 3, 'family', data['username_family'], data['ext_username'], data['username_family'], [data['password_family'], data['password_family'] + "2"]), (1, 5, 'user', data['username'], data['username'], data['username'], [data['password']]),
) (2, 5, 'user', data['username'], data['username'], 'alias_' + data['username'], [data['password']]),
(1, 3, 'family', data['username_family'], data['username_family'], data['username_family'], [data['password_family'], data['password_family'] + "2"]),
(3, 5, 'user', data['username'], data['ext_username'], data['username'], [data['password']]),
(4, 5, 'user', data['username'], data['ext_username'], 'alias_' + data['username'], [data['password']]),
(2, 3, 'family', data['username_family'], data['ext_username'], data['username_family'], [data['password_family'], data['password_family'] + "2"]),
)
def get_msg(username, dest, msg='MESSAGE', with_date=True): def get_msg(username, dest, msg='MESSAGE', with_date=True):