ContextIntegrationTests

22

tests

0

failures

0

ignored

0.222s

duration

100%

successful

Tests

Test Duration Result
assumeRoles() 0.008s passed
assumedRolesGetAuthorizedViaGroupFromJwtButOnlyAssumedRolesRemainAsEffectiveSubject() 0.015s passed
contextDefineWithJwtContainingGroupsWillIncludeSynchronizedGroupsInEffectiveSubjects() 0.022s passed
defineContextWithSubjectAndAssumeInaccessibleRole() 0.014s passed
defineWithSubjectAndAssumedRoles() 0.005s passed
defineWithSubjectNameWithoutAssumedRoles() 0.007s passed
defineWithSubjectUuid() 0.007s passed
defineWithUnknownCurrentSubject() 0.004s passed
defineWithUnknownSubjectName() 0.026s passed
defineWithUnknownSubjectUuid() 0.009s passed
defineWithoutCurrentSubjectButWithAssumedRoles() 0.005s passed
defineWithoutHttpServletRequestUsesCallStack() 0.006s passed
findObjectUuidByIdNameReturnsNullForUnknownIdName() 0.004s passed
hasGlobalAdminRoleFollowsRedefinedContextWithinSameTransaction() 0.008s passed
hasGlobalAdminRoleIsCachedInContext() 0.014s passed
hasGlobalAdminRoleIsFalseForGlobalAdminWithAssumedNonGlobalRole() 0.012s passed
hasGlobalAdminRoleIsFalseForNonGlobalAdminWithoutAssumedRole() 0.007s passed
hasGlobalAdminRoleIsTrueForGlobalAdminWithAssumedGlobalAdminRole() 0.013s passed
hasGlobalAdminRoleIsTrueForGlobalAdminWithOneOfMultipleAssumedRolesBeingGlobalAdminRole() 0.010s passed
hasGlobalAdminRoleIsTrueForGlobalAdminWithoutAssumedRole() 0.010s passed
requireGlobalAdminPassesForGlobalAdmin() 0.011s passed
requireGlobalAdminThrowsForbiddenForNonGlobalAdmin() 0.005s passed

Standard output

2026-08-10T16:40:55.488Z  INFO 380 --- [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [net.hostsharing.hsadminng.rbac.context.ContextIntegrationTests]: ContextIntegrationTests does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-08-10T16:40:55.514Z  INFO 380 --- [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration net.hostsharing.hsadminng.HsadminNgApplication for test class net.hostsharing.hsadminng.rbac.context.ContextIntegrationTests
Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

Hibernate: select current_setting('hsadminng.hasGlobalAdminRole', true)
Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

Hibernate: select current_setting('hsadminng.hasGlobalAdminRole', true)
Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

Hibernate: select rbac.hasGlobalAdminRole()
Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

2026-08-10T16:40:55.565Z  WARN 380 --- [    Test worker] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 0, SQLState: P0001
2026-08-10T16:40:55.566Z ERROR 380 --- [    Test worker] o.h.engine.jdbc.spi.SqlExceptionHelper   : ERROR: [401] subject unknown-subject given in `base.defineContext(...)` does not exist or is deactivated
  Where: PL/pgSQL function rbac.determinecurrentsubjectuuid(character varying) line 11 at RAISE
SQL statement "select rbac.determineCurrentSubjectUuid(currentSubject)"
PL/pgSQL function base.contextdefined(character varying,text,character varying,character varying,text) line 16 at SQL statement
SQL statement "call base.contextDefined(currentTask, currentRequest, currentSubject, assumedRoles, currentSubjectGroups)"
PL/pgSQL function base.definecontext(character varying,text,character varying,text,text) line 23 at CALL
Hibernate: select base.currentSubject()
2026-08-10T16:40:55.568Z  WARN 380 --- [    Test worker] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 0, SQLState: 25P02
2026-08-10T16:40:55.569Z ERROR 380 --- [    Test worker] o.h.engine.jdbc.spi.SqlExceptionHelper   : ERROR: current transaction is aborted, commands ignored until end of transaction block
Hibernate: select rbac.currentSubjectUuid()
2026-08-10T16:40:55.570Z  WARN 380 --- [    Test worker] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 0, SQLState: 25P02
2026-08-10T16:40:55.570Z ERROR 380 --- [    Test worker] o.h.engine.jdbc.spi.SqlExceptionHelper   : ERROR: current transaction is aborted, commands ignored until end of transaction block
Hibernate: select base.assumedRoles() as roles
2026-08-10T16:40:55.571Z  WARN 380 --- [    Test worker] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 0, SQLState: 25P02
2026-08-10T16:40:55.572Z ERROR 380 --- [    Test worker] o.h.engine.jdbc.spi.SqlExceptionHelper   : ERROR: current transaction is aborted, commands ignored until end of transaction block
Hibernate: select rbac.currentSubjectOrAssumedRolesUuids() as uuids
2026-08-10T16:40:55.573Z  WARN 380 --- [    Test worker] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 0, SQLState: 25P02
2026-08-10T16:40:55.573Z ERROR 380 --- [    Test worker] o.h.engine.jdbc.spi.SqlExceptionHelper   : ERROR: current transaction is aborted, commands ignored until end of transaction block
Hibernate: SELECT name FROM rbac.subject s WHERE s.uuid=?
Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

Hibernate: select base.currentSubject()
Hibernate: select rbac.currentSubjectUuid()
Hibernate: select base.assumedRoles() as roles
Hibernate: select rbac.currentSubjectOrAssumedRolesUuids() as uuids
Hibernate: select rbac.currentSubjectUuid()
Hibernate: select rbac.findObjectUuidByIdName('rbactest.package', 'unknown')
Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

Hibernate: select rbac.hasGlobalAdminRole()
Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

Hibernate: select current_setting('hsadminng.currentTask');
Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

2026-08-10T16:40:55.624Z  WARN 380 --- [    Test worker] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 0, SQLState: P0001
2026-08-10T16:40:55.624Z ERROR 380 --- [    Test worker] o.h.engine.jdbc.spi.SqlExceptionHelper   : ERROR: [403] undefined has no permission to assume role rbactest.package#yyy00:ADMIN
  Where: PL/pgSQL function rbac.determinecurrentsubjectorassumedrolesuuids(uuid[],text) line 14 at RAISE
PL/pgSQL function base.contextdefined(character varying,text,character varying,character varying,text) line 26 at assignment
SQL statement "call base.contextDefined(currentTask, currentRequest, currentSubject, assumedRoles, currentSubjectGroups)"
PL/pgSQL function base.definecontext(character varying,text,character varying,text,text) line 23 at CALL
Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

Hibernate: select rbac.hasGlobalAdminRole()
Hibernate: SELECT count(*) FROM rbac.subject WHERE name = ?
Hibernate: SELECT count(*) FROM rbac.subject WHERE name = ?
Hibernate: SELECT count(*) FROM rbac.subject WHERE name = ?
Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

Hibernate: select base.currentSubject()
Hibernate: select base.assumedRoles() as roles
Hibernate: select rbac.currentSubjectOrAssumedRolesUuids() as uuids
Hibernate: SELECT uuid FROM rbac.subject WHERE name = ?
Hibernate: SELECT uuid FROM rbac.subject WHERE name = ?
Hibernate: SELECT uuid FROM rbac.subject WHERE name = ?
Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

2026-08-10T16:40:55.668Z  WARN 380 --- [    Test worker] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 0, SQLState: P0001
2026-08-10T16:40:55.668Z ERROR 380 --- [    Test worker] o.h.engine.jdbc.spi.SqlExceptionHelper   : ERROR: [403] subject tst-customer_admin_xxx has no permission to assume role rbactest.package#yyy00:ADMIN
  Where: PL/pgSQL function rbac.determinecurrentsubjectorassumedrolesuuids(uuid[],text) line 49 at RAISE
PL/pgSQL function base.contextdefined(character varying,text,character varying,character varying,text) line 26 at assignment
SQL statement "call base.contextDefined(currentTask, currentRequest, currentSubject, assumedRoles, currentSubjectGroups)"
PL/pgSQL function base.definecontext(character varying,text,character varying,text,text) line 23 at CALL
Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

Hibernate: select rbac.hasGlobalAdminRole()
Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

Hibernate: select rbac.hasGlobalAdminRole()
Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

Hibernate: select rbac.isGlobalAdmin()
Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

2026-08-10T16:40:55.712Z  WARN 380 --- [    Test worker] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 0, SQLState: P0001
2026-08-10T16:40:55.712Z ERROR 380 --- [    Test worker] o.h.engine.jdbc.spi.SqlExceptionHelper   : ERROR: [401] subject unknown@example.org given in `base.defineContext(...)` does not exist or is deactivated
  Where: PL/pgSQL function rbac.determinecurrentsubjectuuid(character varying) line 11 at RAISE
SQL statement "select rbac.determineCurrentSubjectUuid(currentSubject)"
PL/pgSQL function base.contextdefined(character varying,text,character varying,character varying,text) line 16 at SQL statement
SQL statement "call base.contextDefined(currentTask, currentRequest, currentSubject, assumedRoles, currentSubjectGroups)"
PL/pgSQL function base.definecontext(character varying,text,character varying,text,text) line 23 at CALL
Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

Hibernate: SELECT uuid FROM rbac.subject WHERE name = ?
Hibernate: call rbac.grantRoleToSubjectUnchecked(
    rbac.findRoleId(?),
    rbac.findRoleId(?),
    ?);

Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

Hibernate: SELECT uuid FROM rbac.subject WHERE name = ?
Hibernate: call rbac.grantRoleToSubjectUnchecked(
    rbac.findRoleId(?),
    rbac.findRoleId(?),
    ?);

Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

Hibernate: select base.currentSubject()
Hibernate: select base.assumedRoles() as roles
Hibernate: select rbac.currentSubjectOrAssumedRolesUuids() as uuids
Hibernate: SELECT rbac.findRoleId(?)
Hibernate: SELECT rbac.findRoleId(?)
Hibernate: SELECT uuid FROM rbac.subject WHERE name = ?
Hibernate: SELECT uuid FROM rbac.subject WHERE name = ?
Hibernate: SELECT uuid FROM rbac.subject WHERE name = ?
Hibernate: SELECT uuid FROM rbac.subject WHERE name = ?
Hibernate: SELECT name FROM rbac.subject s WHERE s.uuid=?
Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

Hibernate: select base.currentSubject()
Hibernate: select rbac.currentSubjectUuid()
Hibernate: select base.assumedRoles() as roles
Hibernate: select rbac.currentSubjectOrAssumedRolesUuids() as uuids
Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

Hibernate: select base.currentSubject()
Hibernate: select base.assumedRoles() as roles
Hibernate: select rbac.currentSubjectOrAssumedRolesUuids() as uuids
Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

Hibernate: select rbac.isGlobalAdmin()
Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

Hibernate: select rbac.hasGlobalAdminRole()
Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

Hibernate: select rbac.hasGlobalAdminRole()
Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

Hibernate: select rbac.hasGlobalAdminRole()
Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

Hibernate: select base.currentSubject()
Hibernate: select rbac.currentSubjectUuid()
Hibernate: select base.assumedRoles() as roles
Hibernate: select rbac.currentSubjectOrAssumedRolesUuids() as uuids
Hibernate: select rbac.currentSubjectOrAssumedRolesUuids() as uuids