smokeTest — PASSED (exit 0)

SHA-256: 6b1312975c98cd5403de8d1fac75bf7fbf69d41d003df2033133ab76b6ba783e
resetting the throw-away database container hsadmin-ng-smoke-test-postgres (host port 15432)
starting the application on port 8090 (log: build/smoke-test/bootRun.log)
waiting for the application to answer (up to 300s) ...
the application is up
LOGIN as hsh-alex_superuser via the fake-jwt token endpoint
LOGIN hsh-alex_superuser
PASSED
HTTP GET /api/ping
PASSED
HTTP GET /api/version
PASSED
HTTP GET /api/pong
PASSED
HTTP POST /api/test/customers \
    -H "Content-Type: application/json" --data-binary @-
{ "prefix": "ttt", "reference": 80001, "adminUserName": "admin@ttt.example.com" }
PASSED
HTTP GET /api/test/customers
PASSED
APIKEY --transient switches the HTTP function from the JWT to the provisioning API-key

HTTP requests now use a transient API-key, which lives only in this shell (use LOGIN to switch back to a JWT)
PASSED
HTTP POST /api/rbac/subjects \
    -H "Content-Type: application/json" --data-binary @-
{ "name": "smoke.test.key", "type": "API_KEY" }
PASSED
APIKEY --transient switches the HTTP function to the created API-key

HTTP requests now use a transient API-key, which lives only in this shell (use LOGIN to switch back to a JWT)
HTTP GET /api/rbac/context
PASSED
APIKEY --transient switches the HTTP function back to the provisioning API-key

HTTP requests now use a transient API-key, which lives only in this shell (use LOGIN to switch back to a JWT)
PASSED
tools/create-accounts-from-csv creates an account linking a new subject to an existing person
HTTP GET "/api/hs/office/persons?name=Drew"
creating account 'xyz-smoke.drew' (Drew User) with uid/gid 80100 ...
HTTP POST /api/hs/accounts/accounts \
    -H "Content-Type: application/json" --data-binary @-
        {
          "person.uuid" : "18fda0e3-e8e9-46e9-b4f6-4fe26ed0ca92",
          "subject" : {
              "uuid": "e00fd0b7-5a54-477a-a224-aa62925a9dd8",
              "name": "xyz-smoke.drew"
          },
          "globalUid" : 80100,
          "globalGid" : 80100
        }
{
  "uuid": "e00fd0b7-5a54-477a-a224-aa62925a9dd8",
  "person": {
    "uuid": "18fda0e3-e8e9-46e9-b4f6-4fe26ed0ca92",
    "personType": "NATURAL_PERSON",
    "tradeName": null,
    "salutation": null,
    "title": null,
    "givenName": "Drew",
    "familyName": "User"
  },
  "subject": {
    "uuid": "e00fd0b7-5a54-477a-a224-aa62925a9dd8",
    "name": "xyz-smoke.drew",
    "organization": "xyz",
    "type": "USER"
  },
  "globalUid": 80100,
  "globalGid": 80100
}

create-accounts-from-csv: 1 created, 0 already existed, 0 invalid rows, 0 failed
HTTP GET "/api/hs/accounts/accounts?personUuid=18fda0e3-e8e9-46e9-b4f6-4fe26ed0ca92"
PASSED
tools/create-accounts-from-csv re-run skips the already existing account (repeatable syncs)
PASSED
tools/create-api-key-for-keycloak-sync creates a global-admin API-key scoped to the sync endpoints
creating API_KEY subject 'hsadminng.keycloak.sync' with scope 'rbac.subjects:sync' ...
HTTP POST /api/rbac/subjects \
    -H "Content-Type: application/json" --data-binary @-
  {
    "type": "API_KEY",
    "name": "hsadminng.keycloak.sync",
    "scopes": [ "rbac.subjects:sync" ]
  }
resolving the 'rbac.global#global:ADMIN' role UUID ...
HTTP GET "/api/rbac/roles?name=rbac.global%23global:ADMIN"
granting the global-admin role to 'hsadminng.keycloak.sync' ...
HTTP POST /api/rbac/grants \
    -H "Hostsharing-Assumed-Roles: rbac.global#global:ADMIN" -H "Content-Type: application/json" --data-binary @-
  {
    "grantedRole.uuid": "637c56d3-e1e9-4a99-95b0-456f7b4149dd",
    "granteeSubject.uuid": "d6cd4dc4-3fc8-430d-9e9e-dc519c8cec42"
  }
created API_KEY subject d6cd4dc4-3fc8-430d-9e9e-dc519c8cec42 ('hsadminng.keycloak.sync') and granted it the global-admin role.
clear-text API-key (shown only once) follows on stdout:

HTTP requests now use a transient API-key, which lives only in this shell (use LOGIN to switch back to a JWT)
HTTP GET /api/rbac/subjects
PASSED
APIKEY --transient switches the HTTP function to the sync API-key
PASSED
HTTP GET /api/rbac/context
PASSED
PASSED

SMOKE-TEST PASSED
stopping the application (pid 2774)