revokeRoleFromSubject

3

tests

0

failures

0

ignored

7.807s

duration

100%

successful

Tests

Test Duration Result
customerAdmin_canRevokeSelfGrantedPackageAdminRole() 1.978s passed
packageAdmin_canNotRevokeOwnPackageAdminRoleGrantedByOwnerRoleOfThatPackage() 3.680s passed
packageAdmin_canRevokeOwnPackageAdminRoleGrantedByAnotherAdminOfThatPackage() 2.149s passed

Standard output

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

Hibernate: insert into rbac.subject_rv (uuid, name, organization, type) values( ?, ?, ?, cast(? as rbac.SubjectType))
Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

Hibernate: select * from rbac.subject where name=?
Hibernate: SELECT rev.*,
       rev.objectTable||'#'||cast(rev.objectUuid as varchar)||':'||rev.roleType AS roleName,
       rev.objectTable||'#'||rev.objectIdName||':'||rev.roleType AS roleIdName
FROM rbac.role_rv rev
WHERE rev.objectTable||'#'||rev.objectIdName||':'||rev.roleType = ?

Hibernate: select rge1_0.grantedroleuuid,rge1_0.subjectuuid,rge1_0.assumed,rge1_0.grantedbyroleidname,rge1_0.grantedbyroleuuid,rge1_0.grantedroleidname,rge1_0.grantedroletype,rge1_0.username,rge1_0.objectidname,rge1_0.objecttable,rge1_0.objectuuid from rbac.grant_rv rge1_0 where (rge1_0.grantedroleuuid,rge1_0.subjectuuid) in ((?,?))
Hibernate: insert into rbac.grant_rv (assumed,grantedroleuuid,subjectuuid) values (?,?,?)
Hibernate: select rrge1_0.uuid,rrge1_0.ascendantidname,rrge1_0.ascendantuuid,rrge1_0.assumed,rrge1_0.descendantidname,rrge1_0.descendantuuid,rrge1_0.grantedbyroleidname,rrge1_0.grantedbyroleuuid from rbac.grant_ev rrge1_0
Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

Hibernate: delete from rbac.grant_rv rge1_0 where rge1_0.grantedroleuuid=? and rge1_0.subjectuuid=?
Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

Hibernate: select rge1_0.grantedroleuuid,rge1_0.subjectuuid,rge1_0.assumed,rge1_0.grantedbyroleidname,rge1_0.grantedbyroleuuid,rge1_0.grantedroleidname,rge1_0.grantedroletype,rge1_0.username,rge1_0.objectidname,rge1_0.objecttable,rge1_0.objectuuid from rbac.grant_rv rge1_0
Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

Hibernate: select * from rbac.subject where name=?
Hibernate: SELECT rev.*,
       rev.objectTable||'#'||cast(rev.objectUuid as varchar)||':'||rev.roleType AS roleName,
       rev.objectTable||'#'||rev.objectIdName||':'||rev.roleType AS roleIdName
FROM rbac.role_rv rev
WHERE rev.objectTable||'#'||rev.objectIdName||':'||rev.roleType = ?

Hibernate: select rge1_0.grantedroleuuid,rge1_0.subjectuuid,rge1_0.assumed,rge1_0.grantedbyroleidname,rge1_0.grantedbyroleuuid,rge1_0.grantedroleidname,rge1_0.grantedroletype,rge1_0.username,rge1_0.objectidname,rge1_0.objecttable,rge1_0.objectuuid from rbac.grant_rv rge1_0 where (rge1_0.grantedroleuuid,rge1_0.subjectuuid) in ((?,?))
Hibernate: insert into rbac.grant_rv (assumed,grantedroleuuid,subjectuuid) values (?,?,?)
Hibernate: select rrge1_0.uuid,rrge1_0.ascendantidname,rrge1_0.ascendantuuid,rrge1_0.assumed,rrge1_0.descendantidname,rrge1_0.descendantuuid,rrge1_0.grantedbyroleidname,rrge1_0.grantedbyroleuuid from rbac.grant_ev rrge1_0
Hibernate: SELECT rev.*,
       rev.objectTable||'#'||cast(rev.objectUuid as varchar)||':'||rev.roleType AS roleName,
       rev.objectTable||'#'||rev.objectIdName||':'||rev.roleType AS roleIdName
FROM rbac.role_rv rev
WHERE rev.objectTable||'#'||rev.objectIdName||':'||rev.roleType = ?

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

Hibernate: delete from rbac.grant_rv rge1_0 where rge1_0.grantedroleuuid=? and rge1_0.subjectuuid=?
2026-08-10T16:40:33.895Z  WARN 369 --- [    Test worker] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 0, SQLState: P0001
2026-08-10T16:40:33.895Z ERROR 369 --- [    Test worker] o.h.engine.jdbc.spi.SqlExceptionHelper   : ERROR: [403] Revoking role created by 4bfa9469-4edc-49d9-9d18-b3331b0b13a6 is forbidden for {rbactest.package#xxx00:ADMIN}.
  Where: PL/pgSQL function rbac.checkrevokerolefromsubjectpreconditions(uuid,uuid,uuid) line 8 at RAISE
SQL statement "call rbac.checkRevokeRoleFromSubjectPreconditions(grantedByRoleUuid, grantedRoleUuid, subjectUuid)"
PL/pgSQL function rbac.revokerolefromsubject(uuid,uuid,uuid) line 3 at CALL
SQL statement "call rbac.revokeRoleFromSubject(old.grantedByRoleUuid, old.grantedRoleUuid, old.subjectUuid)"
PL/pgSQL function rbac.delete_grant_tf() line 3 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 * from rbac.subject where name=?
Hibernate: SELECT rev.*,
       rev.objectTable||'#'||cast(rev.objectUuid as varchar)||':'||rev.roleType AS roleName,
       rev.objectTable||'#'||rev.objectIdName||':'||rev.roleType AS roleIdName
FROM rbac.role_rv rev
WHERE rev.objectTable||'#'||rev.objectIdName||':'||rev.roleType = ?

Hibernate: select rge1_0.grantedroleuuid,rge1_0.subjectuuid,rge1_0.assumed,rge1_0.grantedbyroleidname,rge1_0.grantedbyroleuuid,rge1_0.grantedroleidname,rge1_0.grantedroletype,rge1_0.username,rge1_0.objectidname,rge1_0.objecttable,rge1_0.objectuuid from rbac.grant_rv rge1_0 where (rge1_0.grantedroleuuid,rge1_0.subjectuuid) in ((?,?))
Hibernate: insert into rbac.grant_rv (assumed,grantedroleuuid,subjectuuid) values (?,?,?)
Hibernate: select rrge1_0.uuid,rrge1_0.ascendantidname,rrge1_0.ascendantuuid,rrge1_0.assumed,rrge1_0.descendantidname,rrge1_0.descendantuuid,rrge1_0.grantedbyroleidname,rrge1_0.grantedbyroleuuid from rbac.grant_ev rrge1_0
Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

Hibernate: delete from rbac.grant_rv rge1_0 where rge1_0.grantedroleuuid=? and rge1_0.subjectuuid=?
Hibernate: call base.defineContext(
    cast(? as varchar(127)),
    cast(? as text),
    cast(? as varchar(63)),
    cast(? as text),
    cast(? as text));

Hibernate: select rge1_0.grantedroleuuid,rge1_0.subjectuuid,rge1_0.assumed,rge1_0.grantedbyroleidname,rge1_0.grantedbyroleuuid,rge1_0.grantedroleidname,rge1_0.grantedroletype,rge1_0.username,rge1_0.objectidname,rge1_0.objecttable,rge1_0.objectuuid from rbac.grant_rv rge1_0