Skip to content

Initial KeyCloak integration #448

Initial KeyCloak integration

Initial KeyCloak integration #448

GitHub Actions / JUnit report (local) failed Jul 8, 2024 in 0s

112 tests run, 66 passed, 2 skipped, 44 failed.

Annotations

Check failure on line 24 in .mypy_cache/3.11/tests/test_auth.data.json

See this annotation in the file changed.

@github-actions github-actions / JUnit report (local)

test_auth.test_valid_user_mtls

failed on setup with "TypeError: argument of type 'NoneType' is not iterable"
Raw output
ginosession = None

    @pytest_asyncio.fixture(scope="session")
    async def two_users(ginosession: None) -> Tuple[Person, Person]:
        """First one is normal, second is admin"""
        _ = ginosession
>       normal = await Person.create_with_cert("TestNormalUser")

tests/test_auth.py:24: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
src/rasenmaeher_api/db/people.py:108: in create_with_cert
    return await refresh._post_create()  # pylint: disable=W0212
src/rasenmaeher_api/db/people.py:114: in _post_create
    kcdata = await kclient.create_kc_user(await refresh.get_kcdata())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <rasenmaeher_api.db.people.Person object at 0x7fc22f709690>

    async def get_kcdata(self) -> KCUserData:
        """KC integration data"""
        pdata = self.productapidata
>       if "kc_uuid" not in self.extra:
E       TypeError: argument of type 'NoneType' is not iterable

src/rasenmaeher_api/db/people.py:175: TypeError

Check failure on line 24 in .mypy_cache/3.11/tests/test_auth.data.json

See this annotation in the file changed.

@github-actions github-actions / JUnit report (local)

test_auth.test_valid_user_jwt

failed on setup with "TypeError: argument of type 'NoneType' is not iterable"
Raw output
ginosession = None

    @pytest_asyncio.fixture(scope="session")
    async def two_users(ginosession: None) -> Tuple[Person, Person]:
        """First one is normal, second is admin"""
        _ = ginosession
>       normal = await Person.create_with_cert("TestNormalUser")

tests/test_auth.py:24: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
src/rasenmaeher_api/db/people.py:108: in create_with_cert
    return await refresh._post_create()  # pylint: disable=W0212
src/rasenmaeher_api/db/people.py:114: in _post_create
    kcdata = await kclient.create_kc_user(await refresh.get_kcdata())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <rasenmaeher_api.db.people.Person object at 0x7fc22f709690>

    async def get_kcdata(self) -> KCUserData:
        """KC integration data"""
        pdata = self.productapidata
>       if "kc_uuid" not in self.extra:
E       TypeError: argument of type 'NoneType' is not iterable

src/rasenmaeher_api/db/people.py:175: TypeError

Check failure on line 24 in .mypy_cache/3.11/tests/test_auth.data.json

See this annotation in the file changed.

@github-actions github-actions / JUnit report (local)

test_auth.test_valid_admin_mtls

failed on setup with "TypeError: argument of type 'NoneType' is not iterable"
Raw output
ginosession = None

    @pytest_asyncio.fixture(scope="session")
    async def two_users(ginosession: None) -> Tuple[Person, Person]:
        """First one is normal, second is admin"""
        _ = ginosession
>       normal = await Person.create_with_cert("TestNormalUser")

tests/test_auth.py:24: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
src/rasenmaeher_api/db/people.py:108: in create_with_cert
    return await refresh._post_create()  # pylint: disable=W0212
src/rasenmaeher_api/db/people.py:114: in _post_create
    kcdata = await kclient.create_kc_user(await refresh.get_kcdata())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <rasenmaeher_api.db.people.Person object at 0x7fc22f709690>

    async def get_kcdata(self) -> KCUserData:
        """KC integration data"""
        pdata = self.productapidata
>       if "kc_uuid" not in self.extra:
E       TypeError: argument of type 'NoneType' is not iterable

src/rasenmaeher_api/db/people.py:175: TypeError

Check failure on line 24 in .mypy_cache/3.11/tests/test_auth.data.json

See this annotation in the file changed.

@github-actions github-actions / JUnit report (local)

test_auth.test_valid_admin_jwt

failed on setup with "TypeError: argument of type 'NoneType' is not iterable"
Raw output
ginosession = None

    @pytest_asyncio.fixture(scope="session")
    async def two_users(ginosession: None) -> Tuple[Person, Person]:
        """First one is normal, second is admin"""
        _ = ginosession
>       normal = await Person.create_with_cert("TestNormalUser")

tests/test_auth.py:24: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
src/rasenmaeher_api/db/people.py:108: in create_with_cert
    return await refresh._post_create()  # pylint: disable=W0212
src/rasenmaeher_api/db/people.py:114: in _post_create
    kcdata = await kclient.create_kc_user(await refresh.get_kcdata())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <rasenmaeher_api.db.people.Person object at 0x7fc22f709690>

    async def get_kcdata(self) -> KCUserData:
        """KC integration data"""
        pdata = self.productapidata
>       if "kc_uuid" not in self.extra:
E       TypeError: argument of type 'NoneType' is not iterable

src/rasenmaeher_api/db/people.py:175: TypeError

Check failure on line 33 in .mypy_cache/3.11/tests/test_cfssl.data.json

See this annotation in the file changed.

@github-actions github-actions / JUnit report (local)

test_cfssl.test_get_crl

failed on setup with "TypeError: argument of type 'NoneType' is not iterable"
Raw output
ginosession = None

    @pytest_asyncio.fixture(scope="session")
    async def one_revoked_cert(ginosession: None) -> None:
        """Make sure we have at least one revoked cert"""
        _ = ginosession
        # We have to make actual certs to be able to revoke them
>       person = await Person.create_with_cert(str(uuid.uuid4()))

tests/test_cfssl.py:33: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
src/rasenmaeher_api/db/people.py:108: in create_with_cert
    return await refresh._post_create()  # pylint: disable=W0212
src/rasenmaeher_api/db/people.py:114: in _post_create
    kcdata = await kclient.create_kc_user(await refresh.get_kcdata())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <rasenmaeher_api.db.people.Person object at 0x7fc22e563050>

    async def get_kcdata(self) -> KCUserData:
        """KC integration data"""
        pdata = self.productapidata
>       if "kc_uuid" not in self.extra:
E       TypeError: argument of type 'NoneType' is not iterable

src/rasenmaeher_api/db/people.py:175: TypeError

Check failure on line 33 in .mypy_cache/3.11/tests/test_cfssl.data.json

See this annotation in the file changed.

@github-actions github-actions / JUnit report (local)

test_cfssl.test_crl_der_route[]

failed on setup with "TypeError: argument of type 'NoneType' is not iterable"
Raw output
ginosession = None

    @pytest_asyncio.fixture(scope="session")
    async def one_revoked_cert(ginosession: None) -> None:
        """Make sure we have at least one revoked cert"""
        _ = ginosession
        # We have to make actual certs to be able to revoke them
>       person = await Person.create_with_cert(str(uuid.uuid4()))

tests/test_cfssl.py:33: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
src/rasenmaeher_api/db/people.py:108: in create_with_cert
    return await refresh._post_create()  # pylint: disable=W0212
src/rasenmaeher_api/db/people.py:114: in _post_create
    kcdata = await kclient.create_kc_user(await refresh.get_kcdata())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <rasenmaeher_api.db.people.Person object at 0x7fc22e563050>

    async def get_kcdata(self) -> KCUserData:
        """KC integration data"""
        pdata = self.productapidata
>       if "kc_uuid" not in self.extra:
E       TypeError: argument of type 'NoneType' is not iterable

src/rasenmaeher_api/db/people.py:175: TypeError

Check failure on line 33 in .mypy_cache/3.11/tests/test_cfssl.data.json

See this annotation in the file changed.

@github-actions github-actions / JUnit report (local)

test_cfssl.test_crl_der_route[/crl.der]

failed on setup with "TypeError: argument of type 'NoneType' is not iterable"
Raw output
ginosession = None

    @pytest_asyncio.fixture(scope="session")
    async def one_revoked_cert(ginosession: None) -> None:
        """Make sure we have at least one revoked cert"""
        _ = ginosession
        # We have to make actual certs to be able to revoke them
>       person = await Person.create_with_cert(str(uuid.uuid4()))

tests/test_cfssl.py:33: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
src/rasenmaeher_api/db/people.py:108: in create_with_cert
    return await refresh._post_create()  # pylint: disable=W0212
src/rasenmaeher_api/db/people.py:114: in _post_create
    kcdata = await kclient.create_kc_user(await refresh.get_kcdata())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <rasenmaeher_api.db.people.Person object at 0x7fc22e563050>

    async def get_kcdata(self) -> KCUserData:
        """KC integration data"""
        pdata = self.productapidata
>       if "kc_uuid" not in self.extra:
E       TypeError: argument of type 'NoneType' is not iterable

src/rasenmaeher_api/db/people.py:175: TypeError

Check failure on line 33 in .mypy_cache/3.11/tests/test_cfssl.data.json

See this annotation in the file changed.

@github-actions github-actions / JUnit report (local)

test_cfssl.test_crl_pem_route

failed on setup with "TypeError: argument of type 'NoneType' is not iterable"
Raw output
ginosession = None

    @pytest_asyncio.fixture(scope="session")
    async def one_revoked_cert(ginosession: None) -> None:
        """Make sure we have at least one revoked cert"""
        _ = ginosession
        # We have to make actual certs to be able to revoke them
>       person = await Person.create_with_cert(str(uuid.uuid4()))

tests/test_cfssl.py:33: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
src/rasenmaeher_api/db/people.py:108: in create_with_cert
    return await refresh._post_create()  # pylint: disable=W0212
src/rasenmaeher_api/db/people.py:114: in _post_create
    kcdata = await kclient.create_kc_user(await refresh.get_kcdata())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <rasenmaeher_api.db.people.Person object at 0x7fc22e563050>

    async def get_kcdata(self) -> KCUserData:
        """KC integration data"""
        pdata = self.productapidata
>       if "kc_uuid" not in self.extra:
E       TypeError: argument of type 'NoneType' is not iterable

src/rasenmaeher_api/db/people.py:175: TypeError

Check failure on line 169 in .mypy_cache/3.11/tests/test_db.data.json

See this annotation in the file changed.

@github-actions github-actions / JUnit report (local)

test_db.test_enrollments_crud

TypeError: argument of type 'NoneType' is not iterable
Raw output
ginosession = None

    @pytest.mark.asyncio
    async def test_enrollments_crud(ginosession: None) -> None:
        """Test the db abstraction enrollments"""
        _ = ginosession
        # Done this way to avoid the cost of the certificate workflow, you should never do this outside of unittests
        person = Person(callsign="MEGAMAN00a", certspath=str(uuid.uuid4()))
        await person.create()
        # refresh
        person = await Person.by_callsign("MEGAMAN00a")
    
        obj = await Enrollment.create_for_callsign("PORA22b")
        assert obj.approvecode
        assert obj.callsign == "PORA22b"
        assert obj.state == EnrollmentState.PENDING
        obj2 = await Enrollment.by_approvecode(obj.approvecode)
        assert obj2.callsign == obj.callsign
        obj3 = await Enrollment.by_callsign(obj.callsign)
        assert obj3.callsign == obj.callsign
    
        await Enrollment.by_pk_or_callsign("PORA22b")
        await Enrollment.by_pk_or_callsign(str(obj.pk))
        await Enrollment.by_pk_or_callsign(uuid_to_b64(obj.pk))
        await Enrollment.by_pk_or_callsign(obj.pk)
    
        old_code = str(obj.approvecode)
        new_code = await obj.reset_approvecode()
        assert old_code != new_code
        new_new_code = await Enrollment.reset_approvecode4callsign("PORA22b")
        assert new_new_code != new_code
    
        with pytest.raises(CallsignReserved):
            await Enrollment.create_for_callsign("PORA22b")
        with pytest.raises(ForbiddenOperation):
            await obj2.delete()
    
        await obj.reject(person)
        obj4 = await Enrollment.by_pk(uuid_to_b64(obj.pk))
        assert obj4.decided_on
        assert obj4.decided_by == person.pk
        assert obj4.state == EnrollmentState.REJECTED
    
        obj5 = await Enrollment.create_for_callsign("ERAPPROVTEST01a")
>       person2 = await obj5.approve(person)

tests/test_db.py:169: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
src/rasenmaeher_api/db/enrollments.py:163: in approve
    person = await Person.create_with_cert(self.callsign, extra=self.extra)
src/rasenmaeher_api/db/people.py:108: in create_with_cert
    return await refresh._post_create()  # pylint: disable=W0212
src/rasenmaeher_api/db/people.py:114: in _post_create
    kcdata = await kclient.create_kc_user(await refresh.get_kcdata())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <rasenmaeher_api.db.people.Person object at 0x7fc22e380e90>

    async def get_kcdata(self) -> KCUserData:
        """KC integration data"""
        pdata = self.productapidata
>       if "kc_uuid" not in self.extra:
E       TypeError: argument of type 'NoneType' is not iterable

src/rasenmaeher_api/db/people.py:175: TypeError

Check failure on line 372 in .mypy_cache/3.11/tests/test_db.data.json

See this annotation in the file changed.

@github-actions github-actions / JUnit report (local)

test_db.test_person_with_cert_duplicatename

TypeError: argument of type 'NoneType' is not iterable
Raw output
ginosession = None

    @pytest.mark.asyncio
    async def test_person_with_cert_duplicatename(ginosession: None) -> None:
        """Test the cert creation with the classmethod but reserved callsign"""
        _ = ginosession
        await mtls_init()
        callsign = "RUOSKA23a"
        peoplepath = Path(switchme_to_singleton_call.persistent_data_dir) / "private" / "people"
>       person = await Person.create_with_cert(callsign)

tests/test_db.py:372: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
src/rasenmaeher_api/db/people.py:108: in create_with_cert
    return await refresh._post_create()  # pylint: disable=W0212
src/rasenmaeher_api/db/people.py:114: in _post_create
    kcdata = await kclient.create_kc_user(await refresh.get_kcdata())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <rasenmaeher_api.db.people.Person object at 0x7fc22e5ca2d0>

    async def get_kcdata(self) -> KCUserData:
        """KC integration data"""
        pdata = self.productapidata
>       if "kc_uuid" not in self.extra:
E       TypeError: argument of type 'NoneType' is not iterable

src/rasenmaeher_api/db/people.py:175: TypeError

Check failure on line 389 in .mypy_cache/3.11/tests/test_db.data.json

See this annotation in the file changed.

@github-actions github-actions / JUnit report (local)

test_db.test_pfx_parse

TypeError: argument of type 'NoneType' is not iterable
Raw output
ginosession = None

    @pytest.mark.asyncio
    async def test_pfx_parse(ginosession: None) -> None:
        """Test that the PFX file gets done"""
        _ = ginosession
        await mtls_init()
>       person = await Person.create_with_cert("PFXMAN01a")

tests/test_db.py:389: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
src/rasenmaeher_api/db/people.py:108: in create_with_cert
    return await refresh._post_create()  # pylint: disable=W0212
src/rasenmaeher_api/db/people.py:114: in _post_create
    kcdata = await kclient.create_kc_user(await refresh.get_kcdata())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <rasenmaeher_api.db.people.Person object at 0x7fc22e593250>

    async def get_kcdata(self) -> KCUserData:
        """KC integration data"""
        pdata = self.productapidata
>       if "kc_uuid" not in self.extra:
E       TypeError: argument of type 'NoneType' is not iterable

src/rasenmaeher_api/db/people.py:175: TypeError

Check failure on line 34 in .mypy_cache/3.11/tests/test_descriptions.data.json

See this annotation in the file changed.

@github-actions github-actions / JUnit report (local)

test_descriptions.test_product_instructons[fi]

failed on setup with "file /home/runner/work/python-rasenmaeher-api/python-rasenmaeher-api/tests/test_descriptions.py, line 34
  @pytest.mark.parametrize("lang", ["fi", "en"])
  @pytest.mark.asyncio
  async def test_product_instructons(user_mtls_client: TestClient, lang: str) -> None:
      """Make sure we get product instructions"""
      resp = await user_mtls_client.get(f"/api/v1/instructions/fake/{lang}")
      assert resp
      payload = resp.json()
      LOGGER.debug(payload)
      assert payload
      assert payload["callsign"]
E       fixture 'user_mtls_client' not found
>       available fixtures: announce_server, anyio_backend, anyio_backend_name, anyio_backend_options, app_client, cache, capfd, capfdbinary, caplog, capsys, capsysbinary, cov, docker_cleanup, docker_compose_command, docker_compose_file, docker_compose_project_name, docker_ip, docker_services, docker_setup, doctest_namespace, event_loop, issuer_cl, kraftwerk_jwt_client, monkeypatch, monkeysession, mtls_client, nice_tmpdir_mod, nice_tmpdir_ses, no_cover, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, rm_jwt_client, session_env_config, taskmaster_closer, test_user_secrets, tilauspalvelu_jwt_admin_client, tilauspalvelu_jwt_client, tilauspalvelu_jwt_user_client, tilauspalvelu_jwt_user_koira_client, tilauspalvelu_jwt_without_proper_user_client, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, unauth_client, unused_tcp_port, unused_tcp_port_factory, unused_udp_port, unused_udp_port_factory, verifier
>       use 'pytest --fixtures [testpath]' for help on them.

/home/runner/work/python-rasenmaeher-api/python-rasenmaeher-api/tests/test_descriptions.py:34"
Raw output
file /home/runner/work/python-rasenmaeher-api/python-rasenmaeher-api/tests/test_descriptions.py, line 34
  @pytest.mark.parametrize("lang", ["fi", "en"])
  @pytest.mark.asyncio
  async def test_product_instructons(user_mtls_client: TestClient, lang: str) -> None:
      """Make sure we get product instructions"""
      resp = await user_mtls_client.get(f"/api/v1/instructions/fake/{lang}")
      assert resp
      payload = resp.json()
      LOGGER.debug(payload)
      assert payload
      assert payload["callsign"]
E       fixture 'user_mtls_client' not found
>       available fixtures: announce_server, anyio_backend, anyio_backend_name, anyio_backend_options, app_client, cache, capfd, capfdbinary, caplog, capsys, capsysbinary, cov, docker_cleanup, docker_compose_command, docker_compose_file, docker_compose_project_name, docker_ip, docker_services, docker_setup, doctest_namespace, event_loop, issuer_cl, kraftwerk_jwt_client, monkeypatch, monkeysession, mtls_client, nice_tmpdir_mod, nice_tmpdir_ses, no_cover, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, rm_jwt_client, session_env_config, taskmaster_closer, test_user_secrets, tilauspalvelu_jwt_admin_client, tilauspalvelu_jwt_client, tilauspalvelu_jwt_user_client, tilauspalvelu_jwt_user_koira_client, tilauspalvelu_jwt_without_proper_user_client, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, unauth_client, unused_tcp_port, unused_tcp_port_factory, unused_udp_port, unused_udp_port_factory, verifier
>       use 'pytest --fixtures [testpath]' for help on them.

/home/runner/work/python-rasenmaeher-api/python-rasenmaeher-api/tests/test_descriptions.py:34

Check failure on line 34 in .mypy_cache/3.11/tests/test_descriptions.data.json

See this annotation in the file changed.

@github-actions github-actions / JUnit report (local)

test_descriptions.test_product_instructons[en]

failed on setup with "file /home/runner/work/python-rasenmaeher-api/python-rasenmaeher-api/tests/test_descriptions.py, line 34
  @pytest.mark.parametrize("lang", ["fi", "en"])
  @pytest.mark.asyncio
  async def test_product_instructons(user_mtls_client: TestClient, lang: str) -> None:
      """Make sure we get product instructions"""
      resp = await user_mtls_client.get(f"/api/v1/instructions/fake/{lang}")
      assert resp
      payload = resp.json()
      LOGGER.debug(payload)
      assert payload
      assert payload["callsign"]
E       fixture 'user_mtls_client' not found
>       available fixtures: announce_server, anyio_backend, anyio_backend_name, anyio_backend_options, app_client, cache, capfd, capfdbinary, caplog, capsys, capsysbinary, cov, docker_cleanup, docker_compose_command, docker_compose_file, docker_compose_project_name, docker_ip, docker_services, docker_setup, doctest_namespace, event_loop, issuer_cl, kraftwerk_jwt_client, monkeypatch, monkeysession, mtls_client, nice_tmpdir_mod, nice_tmpdir_ses, no_cover, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, rm_jwt_client, session_env_config, taskmaster_closer, test_user_secrets, tilauspalvelu_jwt_admin_client, tilauspalvelu_jwt_client, tilauspalvelu_jwt_user_client, tilauspalvelu_jwt_user_koira_client, tilauspalvelu_jwt_without_proper_user_client, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, unauth_client, unused_tcp_port, unused_tcp_port_factory, unused_udp_port, unused_udp_port_factory, verifier
>       use 'pytest --fixtures [testpath]' for help on them.

/home/runner/work/python-rasenmaeher-api/python-rasenmaeher-api/tests/test_descriptions.py:34"
Raw output
file /home/runner/work/python-rasenmaeher-api/python-rasenmaeher-api/tests/test_descriptions.py, line 34
  @pytest.mark.parametrize("lang", ["fi", "en"])
  @pytest.mark.asyncio
  async def test_product_instructons(user_mtls_client: TestClient, lang: str) -> None:
      """Make sure we get product instructions"""
      resp = await user_mtls_client.get(f"/api/v1/instructions/fake/{lang}")
      assert resp
      payload = resp.json()
      LOGGER.debug(payload)
      assert payload
      assert payload["callsign"]
E       fixture 'user_mtls_client' not found
>       available fixtures: announce_server, anyio_backend, anyio_backend_name, anyio_backend_options, app_client, cache, capfd, capfdbinary, caplog, capsys, capsysbinary, cov, docker_cleanup, docker_compose_command, docker_compose_file, docker_compose_project_name, docker_ip, docker_services, docker_setup, doctest_namespace, event_loop, issuer_cl, kraftwerk_jwt_client, monkeypatch, monkeysession, mtls_client, nice_tmpdir_mod, nice_tmpdir_ses, no_cover, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, rm_jwt_client, session_env_config, taskmaster_closer, test_user_secrets, tilauspalvelu_jwt_admin_client, tilauspalvelu_jwt_client, tilauspalvelu_jwt_user_client, tilauspalvelu_jwt_user_koira_client, tilauspalvelu_jwt_without_proper_user_client, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, unauth_client, unused_tcp_port, unused_tcp_port_factory, unused_udp_port, unused_udp_port_factory, verifier
>       use 'pytest --fixtures [testpath]' for help on them.

/home/runner/work/python-rasenmaeher-api/python-rasenmaeher-api/tests/test_descriptions.py:34

Check failure on line 1 in .mypy_cache/3.11/tests/test_enrollment.data.json

See this annotation in the file changed.

@github-actions github-actions / JUnit report (local)

test_enrollment.test_enroll_verif_code[tilauspalvelu_jwt_admin_client0]

failed on setup with "gino.exceptions.UninitializedError: Gino engine is not initialized."
Raw output
event_loop = <_UnixSelectorEventLoop running=False closed=False debug=False>
request = <SubRequest 'test_user_secrets' for <Function test_enroll_verif_code[tilauspalvelu_jwt_admin_client0]>>
kwargs = {'session_env_config': None}
setup = <function _wrap_async_fixture.<locals>._async_fixture_wrapper.<locals>.setup at 0x7fc22e5ece00>

    @functools.wraps(fixture)
    def _async_fixture_wrapper(
        event_loop: asyncio.AbstractEventLoop, request: SubRequest, **kwargs: Any
    ):
        func = _perhaps_rebind_fixture_func(
            fixture, request.instance, fixturedef.unittest
        )
    
        async def setup():
            res = await func(**_add_kwargs(func, kwargs, event_loop, request))
            return res
    
>       return event_loop.run_until_complete(setup())

../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py:326: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/asyncio/base_events.py:654: in run_until_complete
    return future.result()
../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py:323: in setup
    res = await func(**_add_kwargs(func, kwargs, event_loop, request))
tests/conftest.py:65: in test_user_secrets
    return await create_test_users()
src/rasenmaeher_api/testhelpers.py:19: in create_test_users
    _anon_admin_added = await Person.is_callsign_available(callsign="anon_admin")
src/rasenmaeher_api/db/people.py:252: in is_callsign_available
    obj = await Person.query.where(Person.callsign == callsign).gino.first()
../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/gino/api.py:137: in first
    return await self._query.bind.first(self._query, *multiparams, **params)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <gino.api._PlaceHolder object at 0x7fc22e3b89a0>, item = 'first'

    def __getattribute__(self, item):
        if item == "_exception":
            return super().__getattribute__(item)
>       raise self._exception
E       gino.exceptions.UninitializedError: Gino engine is not initialized.

../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/gino/api.py:544: UninitializedError

Check failure on line 1 in .mypy_cache/3.11/tests/test_enrollment.data.json

See this annotation in the file changed.

@github-actions github-actions / JUnit report (local)

test_enrollment.test_enroll_show_verif_code[tilauspalvelu_jwt_admin_client0]

failed on setup with "gino.exceptions.UninitializedError: Gino engine is not initialized."
Raw output
event_loop = <_UnixSelectorEventLoop running=False closed=False debug=False>
request = <SubRequest 'test_user_secrets' for <Function test_enroll_verif_code[tilauspalvelu_jwt_admin_client0]>>
kwargs = {'session_env_config': None}
setup = <function _wrap_async_fixture.<locals>._async_fixture_wrapper.<locals>.setup at 0x7fc22e5ece00>

    @functools.wraps(fixture)
    def _async_fixture_wrapper(
        event_loop: asyncio.AbstractEventLoop, request: SubRequest, **kwargs: Any
    ):
        func = _perhaps_rebind_fixture_func(
            fixture, request.instance, fixturedef.unittest
        )
    
        async def setup():
            res = await func(**_add_kwargs(func, kwargs, event_loop, request))
            return res
    
>       return event_loop.run_until_complete(setup())

../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py:326: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/asyncio/base_events.py:654: in run_until_complete
    return future.result()
../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py:323: in setup
    res = await func(**_add_kwargs(func, kwargs, event_loop, request))
tests/conftest.py:65: in test_user_secrets
    return await create_test_users()
src/rasenmaeher_api/testhelpers.py:19: in create_test_users
    _anon_admin_added = await Person.is_callsign_available(callsign="anon_admin")
src/rasenmaeher_api/db/people.py:252: in is_callsign_available
    obj = await Person.query.where(Person.callsign == callsign).gino.first()
../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/gino/api.py:137: in first
    return await self._query.bind.first(self._query, *multiparams, **params)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <gino.api._PlaceHolder object at 0x7fc22e3b89a0>, item = 'first'

    def __getattribute__(self, item):
        if item == "_exception":
            return super().__getattribute__(item)
>       raise self._exception
E       gino.exceptions.UninitializedError: Gino engine is not initialized.

../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/gino/api.py:544: UninitializedError

Check failure on line 1 in .mypy_cache/3.11/tests/test_enrollment.data.json

See this annotation in the file changed.

@github-actions github-actions / JUnit report (local)

test_enrollment.test_enroll_show_verifcode_bad_code[tilauspalvelu_jwt_admin_client0]

failed on setup with "gino.exceptions.UninitializedError: Gino engine is not initialized."
Raw output
event_loop = <_UnixSelectorEventLoop running=False closed=False debug=False>
request = <SubRequest 'test_user_secrets' for <Function test_enroll_verif_code[tilauspalvelu_jwt_admin_client0]>>
kwargs = {'session_env_config': None}
setup = <function _wrap_async_fixture.<locals>._async_fixture_wrapper.<locals>.setup at 0x7fc22e5ece00>

    @functools.wraps(fixture)
    def _async_fixture_wrapper(
        event_loop: asyncio.AbstractEventLoop, request: SubRequest, **kwargs: Any
    ):
        func = _perhaps_rebind_fixture_func(
            fixture, request.instance, fixturedef.unittest
        )
    
        async def setup():
            res = await func(**_add_kwargs(func, kwargs, event_loop, request))
            return res
    
>       return event_loop.run_until_complete(setup())

../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py:326: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/asyncio/base_events.py:654: in run_until_complete
    return future.result()
../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py:323: in setup
    res = await func(**_add_kwargs(func, kwargs, event_loop, request))
tests/conftest.py:65: in test_user_secrets
    return await create_test_users()
src/rasenmaeher_api/testhelpers.py:19: in create_test_users
    _anon_admin_added = await Person.is_callsign_available(callsign="anon_admin")
src/rasenmaeher_api/db/people.py:252: in is_callsign_available
    obj = await Person.query.where(Person.callsign == callsign).gino.first()
../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/gino/api.py:137: in first
    return await self._query.bind.first(self._query, *multiparams, **params)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <gino.api._PlaceHolder object at 0x7fc22e3b89a0>, item = 'first'

    def __getattribute__(self, item):
        if item == "_exception":
            return super().__getattribute__(item)
>       raise self._exception
E       gino.exceptions.UninitializedError: Gino engine is not initialized.

../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/gino/api.py:544: UninitializedError

Check failure on line 1 in .mypy_cache/3.11/tests/test_enrollment.data.json

See this annotation in the file changed.

@github-actions github-actions / JUnit report (local)

test_enrollment.test_post_init[tilauspalvelu_jwt_admin_client0]

failed on setup with "gino.exceptions.UninitializedError: Gino engine is not initialized."
Raw output
event_loop = <_UnixSelectorEventLoop running=False closed=False debug=False>
request = <SubRequest 'test_user_secrets' for <Function test_enroll_verif_code[tilauspalvelu_jwt_admin_client0]>>
kwargs = {'session_env_config': None}
setup = <function _wrap_async_fixture.<locals>._async_fixture_wrapper.<locals>.setup at 0x7fc22e5ece00>

    @functools.wraps(fixture)
    def _async_fixture_wrapper(
        event_loop: asyncio.AbstractEventLoop, request: SubRequest, **kwargs: Any
    ):
        func = _perhaps_rebind_fixture_func(
            fixture, request.instance, fixturedef.unittest
        )
    
        async def setup():
            res = await func(**_add_kwargs(func, kwargs, event_loop, request))
            return res
    
>       return event_loop.run_until_complete(setup())

../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py:326: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/asyncio/base_events.py:654: in run_until_complete
    return future.result()
../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py:323: in setup
    res = await func(**_add_kwargs(func, kwargs, event_loop, request))
tests/conftest.py:65: in test_user_secrets
    return await create_test_users()
src/rasenmaeher_api/testhelpers.py:19: in create_test_users
    _anon_admin_added = await Person.is_callsign_available(callsign="anon_admin")
src/rasenmaeher_api/db/people.py:252: in is_callsign_available
    obj = await Person.query.where(Person.callsign == callsign).gino.first()
../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/gino/api.py:137: in first
    return await self._query.bind.first(self._query, *multiparams, **params)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <gino.api._PlaceHolder object at 0x7fc22e3b89a0>, item = 'first'

    def __getattribute__(self, item):
        if item == "_exception":
            return super().__getattribute__(item)
>       raise self._exception
E       gino.exceptions.UninitializedError: Gino engine is not initialized.

../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/gino/api.py:544: UninitializedError

Check failure on line 1 in .mypy_cache/3.11/tests/test_enrollment.data.json

See this annotation in the file changed.

@github-actions github-actions / JUnit report (local)

test_enrollment.test_promote_demote[tilauspalvelu_jwt_admin_client0]

failed on setup with "gino.exceptions.UninitializedError: Gino engine is not initialized."
Raw output
event_loop = <_UnixSelectorEventLoop running=False closed=False debug=False>
request = <SubRequest 'test_user_secrets' for <Function test_enroll_verif_code[tilauspalvelu_jwt_admin_client0]>>
kwargs = {'session_env_config': None}
setup = <function _wrap_async_fixture.<locals>._async_fixture_wrapper.<locals>.setup at 0x7fc22e5ece00>

    @functools.wraps(fixture)
    def _async_fixture_wrapper(
        event_loop: asyncio.AbstractEventLoop, request: SubRequest, **kwargs: Any
    ):
        func = _perhaps_rebind_fixture_func(
            fixture, request.instance, fixturedef.unittest
        )
    
        async def setup():
            res = await func(**_add_kwargs(func, kwargs, event_loop, request))
            return res
    
>       return event_loop.run_until_complete(setup())

../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py:326: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/asyncio/base_events.py:654: in run_until_complete
    return future.result()
../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py:323: in setup
    res = await func(**_add_kwargs(func, kwargs, event_loop, request))
tests/conftest.py:65: in test_user_secrets
    return await create_test_users()
src/rasenmaeher_api/testhelpers.py:19: in create_test_users
    _anon_admin_added = await Person.is_callsign_available(callsign="anon_admin")
src/rasenmaeher_api/db/people.py:252: in is_callsign_available
    obj = await Person.query.where(Person.callsign == callsign).gino.first()
../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/gino/api.py:137: in first
    return await self._query.bind.first(self._query, *multiparams, **params)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <gino.api._PlaceHolder object at 0x7fc22e3b89a0>, item = 'first'

    def __getattribute__(self, item):
        if item == "_exception":
            return super().__getattribute__(item)
>       raise self._exception
E       gino.exceptions.UninitializedError: Gino engine is not initialized.

../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/gino/api.py:544: UninitializedError

Check failure on line 1 in .mypy_cache/3.11/tests/test_enrollment.data.json

See this annotation in the file changed.

@github-actions github-actions / JUnit report (local)

test_enrollment.test_lock[tilauspalvelu_jwt_admin_client0]

failed on setup with "gino.exceptions.UninitializedError: Gino engine is not initialized."
Raw output
event_loop = <_UnixSelectorEventLoop running=False closed=False debug=False>
request = <SubRequest 'test_user_secrets' for <Function test_enroll_verif_code[tilauspalvelu_jwt_admin_client0]>>
kwargs = {'session_env_config': None}
setup = <function _wrap_async_fixture.<locals>._async_fixture_wrapper.<locals>.setup at 0x7fc22e5ece00>

    @functools.wraps(fixture)
    def _async_fixture_wrapper(
        event_loop: asyncio.AbstractEventLoop, request: SubRequest, **kwargs: Any
    ):
        func = _perhaps_rebind_fixture_func(
            fixture, request.instance, fixturedef.unittest
        )
    
        async def setup():
            res = await func(**_add_kwargs(func, kwargs, event_loop, request))
            return res
    
>       return event_loop.run_until_complete(setup())

../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py:326: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/asyncio/base_events.py:654: in run_until_complete
    return future.result()
../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py:323: in setup
    res = await func(**_add_kwargs(func, kwargs, event_loop, request))
tests/conftest.py:65: in test_user_secrets
    return await create_test_users()
src/rasenmaeher_api/testhelpers.py:19: in create_test_users
    _anon_admin_added = await Person.is_callsign_available(callsign="anon_admin")
src/rasenmaeher_api/db/people.py:252: in is_callsign_available
    obj = await Person.query.where(Person.callsign == callsign).gino.first()
../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/gino/api.py:137: in first
    return await self._query.bind.first(self._query, *multiparams, **params)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <gino.api._PlaceHolder object at 0x7fc22e3b89a0>, item = 'first'

    def __getattribute__(self, item):
        if item == "_exception":
            return super().__getattribute__(item)
>       raise self._exception
E       gino.exceptions.UninitializedError: Gino engine is not initialized.

../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/gino/api.py:544: UninitializedError

Check failure on line 1 in .mypy_cache/3.11/tests/test_enrollment.data.json

See this annotation in the file changed.

@github-actions github-actions / JUnit report (local)

test_enrollment.test_accept[tilauspalvelu_jwt_admin_client0]

failed on setup with "gino.exceptions.UninitializedError: Gino engine is not initialized."
Raw output
event_loop = <_UnixSelectorEventLoop running=False closed=False debug=False>
request = <SubRequest 'test_user_secrets' for <Function test_enroll_verif_code[tilauspalvelu_jwt_admin_client0]>>
kwargs = {'session_env_config': None}
setup = <function _wrap_async_fixture.<locals>._async_fixture_wrapper.<locals>.setup at 0x7fc22e5ece00>

    @functools.wraps(fixture)
    def _async_fixture_wrapper(
        event_loop: asyncio.AbstractEventLoop, request: SubRequest, **kwargs: Any
    ):
        func = _perhaps_rebind_fixture_func(
            fixture, request.instance, fixturedef.unittest
        )
    
        async def setup():
            res = await func(**_add_kwargs(func, kwargs, event_loop, request))
            return res
    
>       return event_loop.run_until_complete(setup())

../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py:326: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/asyncio/base_events.py:654: in run_until_complete
    return future.result()
../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py:323: in setup
    res = await func(**_add_kwargs(func, kwargs, event_loop, request))
tests/conftest.py:65: in test_user_secrets
    return await create_test_users()
src/rasenmaeher_api/testhelpers.py:19: in create_test_users
    _anon_admin_added = await Person.is_callsign_available(callsign="anon_admin")
src/rasenmaeher_api/db/people.py:252: in is_callsign_available
    obj = await Person.query.where(Person.callsign == callsign).gino.first()
../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/gino/api.py:137: in first
    return await self._query.bind.first(self._query, *multiparams, **params)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <gino.api._PlaceHolder object at 0x7fc22e3b89a0>, item = 'first'

    def __getattribute__(self, item):
        if item == "_exception":
            return super().__getattribute__(item)
>       raise self._exception
E       gino.exceptions.UninitializedError: Gino engine is not initialized.

../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/gino/api.py:544: UninitializedError

Check failure on line 1 in .mypy_cache/3.11/tests/test_enrollment.data.json

See this annotation in the file changed.

@github-actions github-actions / JUnit report (local)

test_enrollment.test_accept_no_such_user[tilauspalvelu_jwt_admin_client0]

failed on setup with "gino.exceptions.UninitializedError: Gino engine is not initialized."
Raw output
event_loop = <_UnixSelectorEventLoop running=False closed=False debug=False>
request = <SubRequest 'test_user_secrets' for <Function test_enroll_verif_code[tilauspalvelu_jwt_admin_client0]>>
kwargs = {'session_env_config': None}
setup = <function _wrap_async_fixture.<locals>._async_fixture_wrapper.<locals>.setup at 0x7fc22e5ece00>

    @functools.wraps(fixture)
    def _async_fixture_wrapper(
        event_loop: asyncio.AbstractEventLoop, request: SubRequest, **kwargs: Any
    ):
        func = _perhaps_rebind_fixture_func(
            fixture, request.instance, fixturedef.unittest
        )
    
        async def setup():
            res = await func(**_add_kwargs(func, kwargs, event_loop, request))
            return res
    
>       return event_loop.run_until_complete(setup())

../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py:326: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/asyncio/base_events.py:654: in run_until_complete
    return future.result()
../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py:323: in setup
    res = await func(**_add_kwargs(func, kwargs, event_loop, request))
tests/conftest.py:65: in test_user_secrets
    return await create_test_users()
src/rasenmaeher_api/testhelpers.py:19: in create_test_users
    _anon_admin_added = await Person.is_callsign_available(callsign="anon_admin")
src/rasenmaeher_api/db/people.py:252: in is_callsign_available
    obj = await Person.query.where(Person.callsign == callsign).gino.first()
../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/gino/api.py:137: in first
    return await self._query.bind.first(self._query, *multiparams, **params)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <gino.api._PlaceHolder object at 0x7fc22e3b89a0>, item = 'first'

    def __getattribute__(self, item):
        if item == "_exception":
            return super().__getattribute__(item)
>       raise self._exception
E       gino.exceptions.UninitializedError: Gino engine is not initialized.

../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/gino/api.py:544: UninitializedError

Check failure on line 1 in .mypy_cache/3.11/tests/test_enrollment.data.json

See this annotation in the file changed.

@github-actions github-actions / JUnit report (local)

test_enrollment.test_invitecode_create[tilauspalvelu_jwt_admin_client0]

failed on setup with "gino.exceptions.UninitializedError: Gino engine is not initialized."
Raw output
event_loop = <_UnixSelectorEventLoop running=False closed=False debug=False>
request = <SubRequest 'test_user_secrets' for <Function test_enroll_verif_code[tilauspalvelu_jwt_admin_client0]>>
kwargs = {'session_env_config': None}
setup = <function _wrap_async_fixture.<locals>._async_fixture_wrapper.<locals>.setup at 0x7fc22e5ece00>

    @functools.wraps(fixture)
    def _async_fixture_wrapper(
        event_loop: asyncio.AbstractEventLoop, request: SubRequest, **kwargs: Any
    ):
        func = _perhaps_rebind_fixture_func(
            fixture, request.instance, fixturedef.unittest
        )
    
        async def setup():
            res = await func(**_add_kwargs(func, kwargs, event_loop, request))
            return res
    
>       return event_loop.run_until_complete(setup())

../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py:326: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/asyncio/base_events.py:654: in run_until_complete
    return future.result()
../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py:323: in setup
    res = await func(**_add_kwargs(func, kwargs, event_loop, request))
tests/conftest.py:65: in test_user_secrets
    return await create_test_users()
src/rasenmaeher_api/testhelpers.py:19: in create_test_users
    _anon_admin_added = await Person.is_callsign_available(callsign="anon_admin")
src/rasenmaeher_api/db/people.py:252: in is_callsign_available
    obj = await Person.query.where(Person.callsign == callsign).gino.first()
../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/gino/api.py:137: in first
    return await self._query.bind.first(self._query, *multiparams, **params)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <gino.api._PlaceHolder object at 0x7fc22e3b89a0>, item = 'first'

    def __getattribute__(self, item):
        if item == "_exception":
            return super().__getattribute__(item)
>       raise self._exception
E       gino.exceptions.UninitializedError: Gino engine is not initialized.

../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/gino/api.py:544: UninitializedError

Check failure on line 1 in .mypy_cache/3.11/tests/test_enrollment.data.json

See this annotation in the file changed.

@github-actions github-actions / JUnit report (local)

test_enrollment.test_invitecode_dectivate[tilauspalvelu_jwt_admin_client0]

failed on setup with "gino.exceptions.UninitializedError: Gino engine is not initialized."
Raw output
event_loop = <_UnixSelectorEventLoop running=False closed=False debug=False>
request = <SubRequest 'test_user_secrets' for <Function test_enroll_verif_code[tilauspalvelu_jwt_admin_client0]>>
kwargs = {'session_env_config': None}
setup = <function _wrap_async_fixture.<locals>._async_fixture_wrapper.<locals>.setup at 0x7fc22e5ece00>

    @functools.wraps(fixture)
    def _async_fixture_wrapper(
        event_loop: asyncio.AbstractEventLoop, request: SubRequest, **kwargs: Any
    ):
        func = _perhaps_rebind_fixture_func(
            fixture, request.instance, fixturedef.unittest
        )
    
        async def setup():
            res = await func(**_add_kwargs(func, kwargs, event_loop, request))
            return res
    
>       return event_loop.run_until_complete(setup())

../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py:326: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/asyncio/base_events.py:654: in run_until_complete
    return future.result()
../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py:323: in setup
    res = await func(**_add_kwargs(func, kwargs, event_loop, request))
tests/conftest.py:65: in test_user_secrets
    return await create_test_users()
src/rasenmaeher_api/testhelpers.py:19: in create_test_users
    _anon_admin_added = await Person.is_callsign_available(callsign="anon_admin")
src/rasenmaeher_api/db/people.py:252: in is_callsign_available
    obj = await Person.query.where(Person.callsign == callsign).gino.first()
../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/gino/api.py:137: in first
    return await self._query.bind.first(self._query, *multiparams, **params)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <gino.api._PlaceHolder object at 0x7fc22e3b89a0>, item = 'first'

    def __getattribute__(self, item):
        if item == "_exception":
            return super().__getattribute__(item)
>       raise self._exception
E       gino.exceptions.UninitializedError: Gino engine is not initialized.

../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/gino/api.py:544: UninitializedError

Check failure on line 1 in .mypy_cache/3.11/tests/test_enrollment.data.json

See this annotation in the file changed.

@github-actions github-actions / JUnit report (local)

test_enrollment.test_invitecode_activate[tilauspalvelu_jwt_admin_client0]

failed on setup with "gino.exceptions.UninitializedError: Gino engine is not initialized."
Raw output
event_loop = <_UnixSelectorEventLoop running=False closed=False debug=False>
request = <SubRequest 'test_user_secrets' for <Function test_enroll_verif_code[tilauspalvelu_jwt_admin_client0]>>
kwargs = {'session_env_config': None}
setup = <function _wrap_async_fixture.<locals>._async_fixture_wrapper.<locals>.setup at 0x7fc22e5ece00>

    @functools.wraps(fixture)
    def _async_fixture_wrapper(
        event_loop: asyncio.AbstractEventLoop, request: SubRequest, **kwargs: Any
    ):
        func = _perhaps_rebind_fixture_func(
            fixture, request.instance, fixturedef.unittest
        )
    
        async def setup():
            res = await func(**_add_kwargs(func, kwargs, event_loop, request))
            return res
    
>       return event_loop.run_until_complete(setup())

../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py:326: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/asyncio/base_events.py:654: in run_until_complete
    return future.result()
../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py:323: in setup
    res = await func(**_add_kwargs(func, kwargs, event_loop, request))
tests/conftest.py:65: in test_user_secrets
    return await create_test_users()
src/rasenmaeher_api/testhelpers.py:19: in create_test_users
    _anon_admin_added = await Person.is_callsign_available(callsign="anon_admin")
src/rasenmaeher_api/db/people.py:252: in is_callsign_available
    obj = await Person.query.where(Person.callsign == callsign).gino.first()
../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/gino/api.py:137: in first
    return await self._query.bind.first(self._query, *multiparams, **params)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <gino.api._PlaceHolder object at 0x7fc22e3b89a0>, item = 'first'

    def __getattribute__(self, item):
        if item == "_exception":
            return super().__getattribute__(item)
>       raise self._exception
E       gino.exceptions.UninitializedError: Gino engine is not initialized.

../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/gino/api.py:544: UninitializedError

Check failure on line 1 in .mypy_cache/3.11/tests/test_enrollment.data.json

See this annotation in the file changed.

@github-actions github-actions / JUnit report (local)

test_enrollment.test_show_verifcode_no_permission

failed on setup with "gino.exceptions.UninitializedError: Gino engine is not initialized."
Raw output
event_loop = <_UnixSelectorEventLoop running=False closed=False debug=False>
request = <SubRequest 'test_user_secrets' for <Function test_enroll_verif_code[tilauspalvelu_jwt_admin_client0]>>
kwargs = {'session_env_config': None}
setup = <function _wrap_async_fixture.<locals>._async_fixture_wrapper.<locals>.setup at 0x7fc22e5ece00>

    @functools.wraps(fixture)
    def _async_fixture_wrapper(
        event_loop: asyncio.AbstractEventLoop, request: SubRequest, **kwargs: Any
    ):
        func = _perhaps_rebind_fixture_func(
            fixture, request.instance, fixturedef.unittest
        )
    
        async def setup():
            res = await func(**_add_kwargs(func, kwargs, event_loop, request))
            return res
    
>       return event_loop.run_until_complete(setup())

../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py:326: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/asyncio/base_events.py:654: in run_until_complete
    return future.result()
../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py:323: in setup
    res = await func(**_add_kwargs(func, kwargs, event_loop, request))
tests/conftest.py:65: in test_user_secrets
    return await create_test_users()
src/rasenmaeher_api/testhelpers.py:19: in create_test_users
    _anon_admin_added = await Person.is_callsign_available(callsign="anon_admin")
src/rasenmaeher_api/db/people.py:252: in is_callsign_available
    obj = await Person.query.where(Person.callsign == callsign).gino.first()
../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/gino/api.py:137: in first
    return await self._query.bind.first(self._query, *multiparams, **params)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <gino.api._PlaceHolder object at 0x7fc22e3b89a0>, item = 'first'

    def __getattribute__(self, item):
        if item == "_exception":
            return super().__getattribute__(item)
>       raise self._exception
E       gino.exceptions.UninitializedError: Gino engine is not initialized.

../../../.cache/pypoetry/virtualenvs/rasenmaeher-api-jxRxA5GG-py3.11/lib/python3.11/site-packages/gino/api.py:544: UninitializedError