FailedConsole Output

Skipping 34,083 KB.. Full Log
11:19:15.674 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - Running database script from resources...
11:19:15.674 [main] INFO  o.e.k.c.jpa.SimpleSqlScriptExecutor - Running resources script: sql/all_delete.sql
11:19:15.676 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - ...database scripts from resources done!
11:19:15.676 [main] INFO  o.e.k.s.user.steps.UserServiceSteps - Logging out in cleanup
11:19:15.676 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - Running database script from resources...
11:19:15.676 [main] INFO  o.e.k.c.jpa.SimpleSqlScriptExecutor - Running resources script: sql/all_delete.sql
11:19:15.677 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - ...database scripts from resources done!
11:19:15.677 [main] INFO  o.e.k.s.u.steps.UserRoleServiceSteps - Logging out in cleanup
11:19:15.677 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - Running database script from resources...
11:19:15.677 [main] INFO  o.e.k.c.jpa.SimpleSqlScriptExecutor - Running resources script: sql/all_delete.sql
11:19:15.678 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - ...database scripts from resources done!
11:19:15.678 [main] INFO  o.e.k.s.d.r.s.DeviceRegistrySteps - Logging out in cleanup
11:19:15.678 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - Running database script from resources...
11:19:15.678 [main] INFO  o.e.k.c.jpa.SimpleSqlScriptExecutor - Running resources script: sql/all_delete.sql
11:19:15.678 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - ...database scripts from resources done!
11:19:15.679 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - Running database script from resources...
11:19:15.679 [main] INFO  o.e.k.c.jpa.SimpleSqlScriptExecutor - Running resources script: sql/all_delete.sql
11:19:15.679 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - ...database scripts from resources done!
11:19:15.680 [main] INFO  o.eclipse.kapua.qa.common.BasicSteps - Wait multiplier active: 4.0
11:19:15.680 [main] INFO  org.eclipse.kapua.qa.common.DBHelper - Setting up embedded database
11:19:15.680 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - =================== KapuaLiquibaseClient Configuration ===================
11:19:15.680 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  Liquibase Version: 3.6.3
11:19:15.680 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  DB connection info
11:19:15.680 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	JDBC URL: jdbc:h2:mem:kapua;MODE=MySQL;DB_CLOSE_DELAY=-1;INIT=CREATE SCHEMA IF NOT EXISTS kapuadb\;SET SCHEMA kapuadb
11:19:15.680 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	Username: kapua
11:19:15.680 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	Password: ******
11:19:15.680 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	Schema: kapuadb
11:19:15.680 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  Timestamp(3) fix info (eclipse/kapua#2889)
11:19:15.680 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	Force timestamp fix: false
11:19:15.680 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	Apply timestamp fix: true
11:19:15.680 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - ==========================================
11:19:15.680 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Running Liquibase scripts...
11:19:15.702 [main] INFO  org.reflections.Reflections - Reflections took 5 ms to scan 22 urls, producing 1370 keys and 1388 values 
11:19:15.788 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing pre master files...
11:19:15.788 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 	Master Liquibase files found: 5
11:19:15.788 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-authorization-master.pre.xml...
11:19:15.825 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-event-store-master.pre.xml...
11:19:15.871 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-job-master.pre.xml...
11:19:15.924 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-scheduler-master.pre.xml...
11:19:15.957 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-system-configurations-master.pre.xml...
11:19:15.994 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing pre master files... DONE!
11:19:15.994 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing master files...
11:19:15.994 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 	Master Liquibase files found: 21
11:19:15.994 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-account-master.xml...
11:19:16.068 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-asset-job-master.xml...
11:19:16.109 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-authentication-master.xml...
11:19:16.211 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-authorization-master.xml...
11:19:16.384 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-broker-master.xml...
11:19:16.415 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-bundle-job-master.xml...
11:19:16.462 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-command-job-master.xml...
11:19:16.503 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-configuration-job-master.xml...
11:19:16.544 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-datastore-master.xml...
11:19:16.575 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-device-management-master.xml...
11:19:16.607 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-device-master.xml...
11:19:16.803 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-device_management_registry-master.xml...
11:19:16.867 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-endpoint-master.xml...
11:19:16.905 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-job-device-management-operation-master.xml...
11:19:16.913 [Camel (camelContext) thread #1062 - JmsConsumer[Consumer.eurotech:mainRoutelisteners:EXACTLY_ONCE.VirtualTopic.%3E]] WARN  o.a.c.c.j.DefaultJmsMessageListenerContainer - Setup of JMS message listener invoker failed for destination 'Consumer.eurotech:mainRoutelisteners:EXACTLY_ONCE.VirtualTopic.>' - trying to recover. Cause: unable to create new native thread
11:19:16.913 [Camel (camelContext) thread #1062 - JmsConsumer[Consumer.eurotech:mainRoutelisteners:EXACTLY_ONCE.VirtualTopic.%3E]] INFO  o.a.c.c.j.DefaultJmsMessageListenerContainer - Successfully refreshed JMS Connection
11:19:16.937 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-job-engine-master.xml...
11:19:17.007 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-job-master.xml...
11:19:17.121 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-packages-job-master.xml...
11:19:17.168 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-scheduler-master.xml...
11:19:17.292 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-stream-master.xml...
11:19:17.318 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-tag-master.xml...
11:19:17.371 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-user-master.xml...
11:19:17.439 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing master files... DONE!
11:19:17.439 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing post master files...
11:19:17.439 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 	Master Liquibase files found: 5
11:19:17.439 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-asset-job-master.post.xml...
11:19:17.464 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-command-job-master.post.xml...
11:19:17.489 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-configuration-job-master.post.xml...
11:19:17.515 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-endpoint-master.post.xml...
11:19:17.544 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-packages-job-master.post.xml...
11:19:17.587 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing post master files... DONE!
11:19:17.587 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Running Liquibase scripts... DONE!

  Scenario: New connection with reserved ID                                             # features/connection/UserCouplingI9n.feature:68
    When I login as user with name "kapua-sys" and password "kapua-password"            # UserServiceSteps.loginUser(String,String)
    Given Account                                                                       # AccountServiceSteps.givenAccount(CucAccount>)
    And A full set of device privileges for account "test-acc-1"                        # DeviceRegistrySteps.setAccountDevicePrivileges(String)
    And The default connection coupling mode for account "test-acc-1" is set to "LOOSE" # DeviceRegistrySteps.setDeviceConnectionCouplingMode(String,String)
    And Such a set of privileged users for account "test-acc-1"                         # DeviceRegistrySteps.createPrivilegedUsers(String,CucUser>)
    And Devices such as                                                                 # DeviceRegistrySteps.createADevicesAsSpecified(CucDevice>)
    And The following device connections                                                # DeviceRegistrySteps.createConnectionForDevice(CucConnection>)
    Given The account name is test-acc-1 and the client ID is device-1                  # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-1:KeepCalm123.@localhost:1883                 # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                          # SimulatedDeviceSteps.startSimulator()
      java.lang.OutOfMemoryError: unable to create new native thread
      	at java.lang.Thread.start0(Native Method)
      	at java.lang.Thread.start(Thread.java:717)
      	at org.eclipse.paho.client.mqttv3.internal.ClientComms$ConnectBG.start(ClientComms.java:693)
      	at org.eclipse.paho.client.mqttv3.internal.ClientComms.connect(ClientComms.java:296)
      	at org.eclipse.paho.client.mqttv3.internal.ConnectActionListener.connect(ConnectActionListener.java:185)
      	at org.eclipse.paho.client.mqttv3.MqttAsyncClient.connect(MqttAsyncClient.java:642)
      	at org.eclipse.kapua.kura.simulator.MqttAsyncTransport.connect(MqttAsyncTransport.java:76)
      	at org.eclipse.kapua.kura.simulator.Simulator.<init>(Simulator.java:57)
      	at org.eclipse.kapua.qa.common.SimulatedDeviceSteps.startSimulator(SimulatedDeviceSteps.java:158)
      	at ✽.When I start the simulator(features/connection/UserCouplingI9n.feature:89)
      	Suppressed: java.lang.OutOfMemoryError: unable to create new native thread
      		at java.lang.Thread.start0(Native Method)
      		at java.lang.Thread.start(Thread.java:717)
      		at org.eclipse.paho.client.mqttv3.internal.ClientComms$DisconnectBG.start(ClientComms.java:762)
      		at org.eclipse.paho.client.mqttv3.internal.ClientComms.disconnect(ClientComms.java:521)
      		at org.eclipse.paho.client.mqttv3.MqttAsyncClient.disconnect(MqttAsyncClient.java:694)
      		at org.eclipse.paho.client.mqttv3.MqttAsyncClient.disconnect(MqttAsyncClient.java:673)
      		at org.eclipse.kapua.kura.simulator.MqttAsyncTransport.close(MqttAsyncTransport.java:116)
      		at org.eclipse.kapua.qa.common.Starting.close(Starting.java:95)
      		at org.eclipse.kapua.qa.common.SimulatedDeviceSteps.startSimulator(SimulatedDeviceSteps.java:162)
      		at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      		at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      		at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      		at java.lang.reflect.Method.invoke(Method.java:498)
      		at cucumber.runtime.Utils$1.call(Utils.java:37)
      		at cucumber.runtime.Timeout.timeout(Timeout.java:13)
      		at cucumber.runtime.Utils.invoke(Utils.java:31)
      		at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38)
      		at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37)
      		at cucumber.runtime.Runtime.runStep(Runtime.java:299)
      		at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44)
      		at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39)
      		at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44)
      		at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91)
      		at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63)
      		at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18)
      		at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
      		at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
      		at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
      		at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
      		at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
      		at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
      		at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70)
      		at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93)
      		at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37)
      		at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
      		at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
      		at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
      		at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
      		at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
      		at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
      		at cucumber.api.junit.Cucumber.run(Cucumber.java:98)
      		at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
      		at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:272)
      		at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:236)
      		at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
      		at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:386)
      		at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:323)
      		at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:143)

    And I wait for 2 seconds                                                            # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-1" in account "test-acc-1"   # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                            # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "CONNECTED"                                            # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    And The connection user is "test-user-1"                                            # DeviceRegistrySteps.checkDeviceConnectionUser(String)
    Then I stop the simulator                                                           # SimulatedDeviceSteps.stopSimulator()
    And I wait for 2 seconds                                                            # DeviceRegistrySteps.waitForSpecifiedTime(int)
    Given The account name is test-acc-1 and the client ID is device-2                  # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-1:KeepCalm123.@localhost:1883                 # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                          # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                            # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-2" in account "test-acc-1"   # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 0 connections                                                           # DeviceRegistrySteps.checkResultListLength(int)
    Given The account name is test-acc-1 and the client ID is device-2                  # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-2:KeepCalm123.@localhost:1883                 # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                          # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                            # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-2" in account "test-acc-1"   # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                            # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "CONNECTED"                                            # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    And The connection user is "test-user-2"                                            # DeviceRegistrySteps.checkDeviceConnectionUser(String)
    Then I stop the simulator                                                           # SimulatedDeviceSteps.stopSimulator()
    And I wait for 2 seconds                                                            # DeviceRegistrySteps.waitForSpecifiedTime(int)
11:19:18.048 [main] INFO  o.e.k.s.a.s.AuthenticationServiceShiroImpl - Login for thread '1' - 'main' - 'org.apache.shiro.subject.support.DelegatingSubject@3b39c3ca'
11:19:19.000 [main] INFO  o.e.k.s.a.steps.AccountServiceSteps - Logging out in cleanup
11:19:19.000 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - Running database script from resources...
11:19:19.000 [main] INFO  o.e.k.c.jpa.SimpleSqlScriptExecutor - Running resources script: sql/all_delete.sql
11:19:19.001 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - ...database scripts from resources done!
11:19:19.002 [main] INFO  o.e.k.s.user.steps.UserServiceSteps - Logging out in cleanup
11:19:19.002 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - Running database script from resources...
11:19:19.002 [main] INFO  o.e.k.c.jpa.SimpleSqlScriptExecutor - Running resources script: sql/all_delete.sql
11:19:19.002 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - ...database scripts from resources done!
11:19:19.002 [main] INFO  o.e.k.s.u.steps.UserRoleServiceSteps - Logging out in cleanup
11:19:19.003 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - Running database script from resources...
11:19:19.003 [main] INFO  o.e.k.c.jpa.SimpleSqlScriptExecutor - Running resources script: sql/all_delete.sql
11:19:19.003 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - ...database scripts from resources done!
11:19:19.003 [main] INFO  o.e.k.s.d.r.s.DeviceRegistrySteps - Logging out in cleanup
11:19:19.003 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - Running database script from resources...
11:19:19.003 [main] INFO  o.e.k.c.jpa.SimpleSqlScriptExecutor - Running resources script: sql/all_delete.sql
11:19:19.004 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - ...database scripts from resources done!
11:19:19.004 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - Running database script from resources...
11:19:19.004 [main] INFO  o.e.k.c.jpa.SimpleSqlScriptExecutor - Running resources script: sql/all_delete.sql
11:19:19.005 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - ...database scripts from resources done!
11:19:19.005 [main] INFO  o.eclipse.kapua.qa.common.BasicSteps - Wait multiplier active: 4.0
11:19:19.006 [main] INFO  org.eclipse.kapua.qa.common.DBHelper - Setting up embedded database
11:19:19.006 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - =================== KapuaLiquibaseClient Configuration ===================
11:19:19.006 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  Liquibase Version: 3.6.3
11:19:19.006 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  DB connection info
11:19:19.006 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	JDBC URL: jdbc:h2:mem:kapua;MODE=MySQL;DB_CLOSE_DELAY=-1;INIT=CREATE SCHEMA IF NOT EXISTS kapuadb\;SET SCHEMA kapuadb
11:19:19.006 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	Username: kapua
11:19:19.006 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	Password: ******
11:19:19.006 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	Schema: kapuadb
11:19:19.006 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  Timestamp(3) fix info (eclipse/kapua#2889)
11:19:19.006 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	Force timestamp fix: false
11:19:19.006 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	Apply timestamp fix: true
11:19:19.006 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - ==========================================
11:19:19.006 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Running Liquibase scripts...
11:19:19.029 [main] INFO  org.reflections.Reflections - Reflections took 5 ms to scan 22 urls, producing 1370 keys and 1388 values 
11:19:19.114 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing pre master files...
11:19:19.114 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 	Master Liquibase files found: 5
11:19:19.114 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-authorization-master.pre.xml...
11:19:19.151 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-event-store-master.pre.xml...
11:19:19.199 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-job-master.pre.xml...
11:19:19.233 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-scheduler-master.pre.xml...
11:19:19.266 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-system-configurations-master.pre.xml...
11:19:19.304 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing pre master files... DONE!
11:19:19.304 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing master files...
11:19:19.304 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 	Master Liquibase files found: 21
11:19:19.304 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-account-master.xml...
11:19:19.381 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-asset-job-master.xml...
11:19:19.420 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-authentication-master.xml...
11:19:19.521 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-authorization-master.xml...
11:19:19.689 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-broker-master.xml...
11:19:19.721 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-bundle-job-master.xml...
11:19:19.766 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-command-job-master.xml...
11:19:19.825 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-configuration-job-master.xml...
11:19:19.864 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-datastore-master.xml...
11:19:19.896 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-device-management-master.xml...
11:19:19.928 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-device-master.xml...
11:19:20.106 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-device_management_registry-master.xml...
11:19:20.172 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-endpoint-master.xml...
11:19:20.211 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-job-device-management-operation-master.xml...
11:19:20.243 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-job-engine-master.xml...
11:19:20.308 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-job-master.xml...
11:19:20.442 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-packages-job-master.xml...
11:19:20.505 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-scheduler-master.xml...
11:19:20.642 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-stream-master.xml...
11:19:20.686 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-tag-master.xml...
11:19:20.741 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-user-master.xml...
11:19:20.811 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing master files... DONE!
11:19:20.811 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing post master files...
11:19:20.811 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 	Master Liquibase files found: 5
11:19:20.812 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-asset-job-master.post.xml...
11:19:20.837 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-command-job-master.post.xml...
11:19:20.862 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-configuration-job-master.post.xml...
11:19:20.889 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-endpoint-master.post.xml...
11:19:20.922 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-packages-job-master.post.xml...
11:19:20.949 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing post master files... DONE!
11:19:20.949 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Running Liquibase scripts... DONE!

  Scenario: Test STRICT user coupling on single connection                              # features/connection/UserCouplingI9n.feature:116
    When I login as user with name "kapua-sys" and password "kapua-password"            # UserServiceSteps.loginUser(String,String)
    Given Account                                                                       # AccountServiceSteps.givenAccount(CucAccount>)
    And A full set of device privileges for account "test-acc-1"                        # DeviceRegistrySteps.setAccountDevicePrivileges(String)
    And The default connection coupling mode for account "test-acc-1" is set to "LOOSE" # DeviceRegistrySteps.setDeviceConnectionCouplingMode(String,String)
    And Such a set of privileged users for account "test-acc-1"                         # DeviceRegistrySteps.createPrivilegedUsers(String,CucUser>)
    And Devices such as                                                                 # DeviceRegistrySteps.createADevicesAsSpecified(CucDevice>)
    And The following device connections                                                # DeviceRegistrySteps.createConnectionForDevice(CucConnection>)
    Given The account name is test-acc-1 and the client ID is device-1                  # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-1:KeepCalm123.@localhost:1883                 # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                          # SimulatedDeviceSteps.startSimulator()
      java.lang.OutOfMemoryError: unable to create new native thread
      	at java.lang.Thread.start0(Native Method)
      	at java.lang.Thread.start(Thread.java:717)
      	at org.eclipse.paho.client.mqttv3.internal.ClientComms$ConnectBG.start(ClientComms.java:693)
      	at org.eclipse.paho.client.mqttv3.internal.ClientComms.connect(ClientComms.java:296)
      	at org.eclipse.paho.client.mqttv3.internal.ConnectActionListener.connect(ConnectActionListener.java:185)
      	at org.eclipse.paho.client.mqttv3.MqttAsyncClient.connect(MqttAsyncClient.java:642)
      	at org.eclipse.kapua.kura.simulator.MqttAsyncTransport.connect(MqttAsyncTransport.java:76)
      	at org.eclipse.kapua.kura.simulator.Simulator.<init>(Simulator.java:57)
      	at org.eclipse.kapua.qa.common.SimulatedDeviceSteps.startSimulator(SimulatedDeviceSteps.java:158)
      	at ✽.When I start the simulator(features/connection/UserCouplingI9n.feature:137)
      	Suppressed: java.lang.OutOfMemoryError: unable to create new native thread
      		at java.lang.Thread.start0(Native Method)
      		at java.lang.Thread.start(Thread.java:717)
      		at org.eclipse.paho.client.mqttv3.internal.ClientComms$DisconnectBG.start(ClientComms.java:762)
      		at org.eclipse.paho.client.mqttv3.internal.ClientComms.disconnect(ClientComms.java:521)
      		at org.eclipse.paho.client.mqttv3.MqttAsyncClient.disconnect(MqttAsyncClient.java:694)
      		at org.eclipse.paho.client.mqttv3.MqttAsyncClient.disconnect(MqttAsyncClient.java:673)
      		at org.eclipse.kapua.kura.simulator.MqttAsyncTransport.close(MqttAsyncTransport.java:116)
      		at org.eclipse.kapua.qa.common.Starting.close(Starting.java:95)
      		at org.eclipse.kapua.qa.common.SimulatedDeviceSteps.startSimulator(SimulatedDeviceSteps.java:162)
      		at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      		at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      		at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      		at java.lang.reflect.Method.invoke(Method.java:498)
      		at cucumber.runtime.Utils$1.call(Utils.java:37)
      		at cucumber.runtime.Timeout.timeout(Timeout.java:13)
      		at cucumber.runtime.Utils.invoke(Utils.java:31)
      		at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38)
      		at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37)
      		at cucumber.runtime.Runtime.runStep(Runtime.java:299)
      		at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44)
      		at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39)
      		at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44)
      		at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91)
      		at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63)
      		at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18)
      		at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
      		at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
      		at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
      		at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
      		at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
      		at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
      		at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70)
      		at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93)
      		at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37)
      		at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
      		at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
      		at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
      		at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
      		at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
      		at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
      		at cucumber.api.junit.Cucumber.run(Cucumber.java:98)
      		at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
      		at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:272)
      		at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:236)
      		at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
      		at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:386)
      		at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:323)
      		at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:143)

    And I wait for 2 seconds                                                            # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-1" in account "test-acc-1"   # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                            # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "CONNECTED"                                            # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    And The connection user is "test-user-1"                                            # DeviceRegistrySteps.checkDeviceConnectionUser(String)
    Then I stop the simulator                                                           # SimulatedDeviceSteps.stopSimulator()
    And I wait for 2 seconds                                                            # DeviceRegistrySteps.waitForSpecifiedTime(int)
    Given The account name is test-acc-1 and the client ID is device-1                  # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-2:KeepCalm123.@localhost:1883                 # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                          # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                            # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-1" in account "test-acc-1"   # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                            # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "DISCONNECTED"                                         # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
11:19:21.424 [main] INFO  o.e.k.s.a.s.AuthenticationServiceShiroImpl - Login for thread '1' - 'main' - 'org.apache.shiro.subject.support.DelegatingSubject@3b39c3ca'
11:19:22.382 [main] INFO  o.e.k.s.a.steps.AccountServiceSteps - Logging out in cleanup
11:19:22.382 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - Running database script from resources...
11:19:22.382 [main] INFO  o.e.k.c.jpa.SimpleSqlScriptExecutor - Running resources script: sql/all_delete.sql
11:19:22.384 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - ...database scripts from resources done!
11:19:22.384 [main] INFO  o.e.k.s.user.steps.UserServiceSteps - Logging out in cleanup
11:19:22.384 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - Running database script from resources...
11:19:22.384 [main] INFO  o.e.k.c.jpa.SimpleSqlScriptExecutor - Running resources script: sql/all_delete.sql
11:19:22.385 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - ...database scripts from resources done!
11:19:22.385 [main] INFO  o.e.k.s.u.steps.UserRoleServiceSteps - Logging out in cleanup
11:19:22.385 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - Running database script from resources...
11:19:22.385 [main] INFO  o.e.k.c.jpa.SimpleSqlScriptExecutor - Running resources script: sql/all_delete.sql
11:19:22.386 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - ...database scripts from resources done!
11:19:22.386 [main] INFO  o.e.k.s.d.r.s.DeviceRegistrySteps - Logging out in cleanup
11:19:22.386 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - Running database script from resources...
11:19:22.386 [main] INFO  o.e.k.c.jpa.SimpleSqlScriptExecutor - Running resources script: sql/all_delete.sql
11:19:22.387 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - ...database scripts from resources done!
11:19:22.387 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - Running database script from resources...
11:19:22.387 [main] INFO  o.e.k.c.jpa.SimpleSqlScriptExecutor - Running resources script: sql/all_delete.sql
11:19:22.388 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - ...database scripts from resources done!
11:19:22.388 [main] INFO  o.eclipse.kapua.qa.common.BasicSteps - Wait multiplier active: 4.0
11:19:22.389 [main] INFO  org.eclipse.kapua.qa.common.DBHelper - Setting up embedded database
11:19:22.389 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - =================== KapuaLiquibaseClient Configuration ===================
11:19:22.389 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  Liquibase Version: 3.6.3
11:19:22.389 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  DB connection info
11:19:22.389 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	JDBC URL: jdbc:h2:mem:kapua;MODE=MySQL;DB_CLOSE_DELAY=-1;INIT=CREATE SCHEMA IF NOT EXISTS kapuadb\;SET SCHEMA kapuadb
11:19:22.389 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	Username: kapua
11:19:22.389 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	Password: ******
11:19:22.389 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	Schema: kapuadb
11:19:22.389 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  Timestamp(3) fix info (eclipse/kapua#2889)
11:19:22.389 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	Force timestamp fix: false
11:19:22.389 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	Apply timestamp fix: true
11:19:22.389 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - ==========================================
11:19:22.389 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Running Liquibase scripts...
11:19:22.412 [main] INFO  org.reflections.Reflections - Reflections took 6 ms to scan 22 urls, producing 1370 keys and 1388 values 
11:19:22.497 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing pre master files...
11:19:22.498 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 	Master Liquibase files found: 5
11:19:22.498 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-authorization-master.pre.xml...
11:19:22.536 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-event-store-master.pre.xml...
11:19:22.580 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-job-master.pre.xml...
11:19:22.612 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-scheduler-master.pre.xml...
11:19:22.643 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-system-configurations-master.pre.xml...
11:19:22.681 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing pre master files... DONE!
11:19:22.681 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing master files...
11:19:22.681 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 	Master Liquibase files found: 21
11:19:22.681 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-account-master.xml...
11:19:22.756 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-asset-job-master.xml...
11:19:22.797 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-authentication-master.xml...
11:19:22.899 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-authorization-master.xml...
11:19:23.089 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-broker-master.xml...
11:19:23.121 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-bundle-job-master.xml...
11:19:23.167 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-command-job-master.xml...
11:19:23.208 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-configuration-job-master.xml...
11:19:23.248 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-datastore-master.xml...
11:19:23.280 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-device-management-master.xml...
11:19:23.312 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-device-master.xml...
11:19:23.487 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-device_management_registry-master.xml...
11:19:23.556 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-endpoint-master.xml...
11:19:23.595 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-job-device-management-operation-master.xml...
11:19:23.628 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-job-engine-master.xml...
11:19:23.690 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-job-master.xml...
11:19:23.830 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-packages-job-master.xml...
11:19:23.877 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-scheduler-master.xml...
11:19:24.002 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-stream-master.xml...
11:19:24.029 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-tag-master.xml...
11:19:24.084 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-user-master.xml...
11:19:24.155 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing master files... DONE!
11:19:24.155 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing post master files...
11:19:24.155 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 	Master Liquibase files found: 5
11:19:24.155 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-asset-job-master.post.xml...
11:19:24.181 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-command-job-master.post.xml...
11:19:24.207 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-configuration-job-master.post.xml...
11:19:24.233 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-endpoint-master.post.xml...
11:19:24.261 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-packages-job-master.post.xml...
11:19:24.291 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing post master files... DONE!
11:19:24.291 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Running Liquibase scripts... DONE!

  Scenario: Test STRICT user coupling with user change allowed on single connection                             # features/connection/UserCouplingI9n.feature:154
    When I login as user with name "kapua-sys" and password "kapua-password"                                    # UserServiceSteps.loginUser(String,String)
    Given Account                                                                                               # AccountServiceSteps.givenAccount(CucAccount>)
    And A full set of device privileges for account "test-acc-1"                                                # DeviceRegistrySteps.setAccountDevicePrivileges(String)
    And The default connection coupling mode for account "test-acc-1" is set to "LOOSE"                         # DeviceRegistrySteps.setDeviceConnectionCouplingMode(String,String)
    And Such a set of privileged users for account "test-acc-1"                                                 # DeviceRegistrySteps.createPrivilegedUsers(String,CucUser>)
    And Devices such as                                                                                         # DeviceRegistrySteps.createADevicesAsSpecified(CucDevice>)
    And The following device connections                                                                        # DeviceRegistrySteps.createConnectionForDevice(CucConnection>)
    Given The account name is test-acc-1 and the client ID is device-1                                          # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-1:KeepCalm123.@localhost:1883                                         # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                                                  # SimulatedDeviceSteps.startSimulator()
      java.lang.OutOfMemoryError: unable to create new native thread
      	at java.lang.Thread.start0(Native Method)
      	at java.lang.Thread.start(Thread.java:717)
      	at org.eclipse.paho.client.mqttv3.internal.ClientComms$ConnectBG.start(ClientComms.java:693)
      	at org.eclipse.paho.client.mqttv3.internal.ClientComms.connect(ClientComms.java:296)
      	at org.eclipse.paho.client.mqttv3.internal.ConnectActionListener.connect(ConnectActionListener.java:185)
      	at org.eclipse.paho.client.mqttv3.MqttAsyncClient.connect(MqttAsyncClient.java:642)
      	at org.eclipse.kapua.kura.simulator.MqttAsyncTransport.connect(MqttAsyncTransport.java:76)
      	at org.eclipse.kapua.kura.simulator.Simulator.<init>(Simulator.java:57)
      	at org.eclipse.kapua.qa.common.SimulatedDeviceSteps.startSimulator(SimulatedDeviceSteps.java:158)
      	at ✽.When I start the simulator(features/connection/UserCouplingI9n.feature:175)
      	Suppressed: java.lang.OutOfMemoryError: unable to create new native thread
      		at java.lang.Thread.start0(Native Method)
      		at java.lang.Thread.start(Thread.java:717)
      		at org.eclipse.paho.client.mqttv3.internal.ClientComms$DisconnectBG.start(ClientComms.java:762)
      		at org.eclipse.paho.client.mqttv3.internal.ClientComms.disconnect(ClientComms.java:521)
      		at org.eclipse.paho.client.mqttv3.MqttAsyncClient.disconnect(MqttAsyncClient.java:694)
      		at org.eclipse.paho.client.mqttv3.MqttAsyncClient.disconnect(MqttAsyncClient.java:673)
      		at org.eclipse.kapua.kura.simulator.MqttAsyncTransport.close(MqttAsyncTransport.java:116)
      		at org.eclipse.kapua.qa.common.Starting.close(Starting.java:95)
      		at org.eclipse.kapua.qa.common.SimulatedDeviceSteps.startSimulator(SimulatedDeviceSteps.java:162)
      		at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      		at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      		at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      		at java.lang.reflect.Method.invoke(Method.java:498)
      		at cucumber.runtime.Utils$1.call(Utils.java:37)
      		at cucumber.runtime.Timeout.timeout(Timeout.java:13)
      		at cucumber.runtime.Utils.invoke(Utils.java:31)
      		at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38)
      		at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37)
      		at cucumber.runtime.Runtime.runStep(Runtime.java:299)
      		at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44)
      		at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39)
      		at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44)
      		at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91)
      		at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63)
      		at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18)
      		at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
      		at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
      		at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
      		at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
      		at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
      		at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
      		at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70)
      		at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93)
      		at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37)
      		at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
      		at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
      		at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
      		at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
      		at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
      		at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
      		at cucumber.api.junit.Cucumber.run(Cucumber.java:98)
      		at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
      		at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:272)
      		at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:236)
      		at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
      		at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:386)
      		at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:323)
      		at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:143)

    And I wait for 2 seconds                                                                                    # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-1" in account "test-acc-1"                           # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                                                    # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "CONNECTED"                                                                    # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    And The connection user is "test-user-1"                                                                    # DeviceRegistrySteps.checkDeviceConnectionUser(String)
    Then I stop the simulator                                                                                   # SimulatedDeviceSteps.stopSimulator()
    And I wait for 2 seconds                                                                                    # DeviceRegistrySteps.waitForSpecifiedTime(int)
    Given The account name is test-acc-1 and the client ID is device-1                                          # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-2:KeepCalm123.@localhost:1883                                         # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                                                  # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                                                    # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-1" in account "test-acc-1"                           # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                                                    # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "DISCONNECTED"                                                                 # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Then I set the user change flag for the connection from device "device-1" in account "test-acc-1" to "true" # DeviceRegistrySteps.modifyDeviceConnectionUserChangeFlag(String,String,String)
    Given The account name is test-acc-1 and the client ID is device-1                                          # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-2:KeepCalm123.@localhost:1883                                         # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                                                  # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                                                    # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-1" in account "test-acc-1"                           # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                                                    # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "CONNECTED"                                                                    # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    And The connection user is "test-user-2"                                                                    # DeviceRegistrySteps.checkDeviceConnectionUser(String)
    Then I stop the simulator                                                                                   # SimulatedDeviceSteps.stopSimulator()
    And I wait for 2 seconds                                                                                    # DeviceRegistrySteps.waitForSpecifiedTime(int)
11:19:24.763 [main] INFO  o.e.k.s.a.s.AuthenticationServiceShiroImpl - Login for thread '1' - 'main' - 'org.apache.shiro.subject.support.DelegatingSubject@3b39c3ca'
11:19:26.183 [main] INFO  o.e.k.s.a.steps.AccountServiceSteps - Logging out in cleanup
11:19:26.184 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - Running database script from resources...
11:19:26.184 [main] INFO  o.e.k.c.jpa.SimpleSqlScriptExecutor - Running resources script: sql/all_delete.sql
11:19:26.186 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - ...database scripts from resources done!
11:19:26.186 [main] INFO  o.e.k.s.user.steps.UserServiceSteps - Logging out in cleanup
11:19:26.186 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - Running database script from resources...
11:19:26.186 [main] INFO  o.e.k.c.jpa.SimpleSqlScriptExecutor - Running resources script: sql/all_delete.sql
11:19:26.187 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - ...database scripts from resources done!
11:19:26.187 [main] INFO  o.e.k.s.u.steps.UserRoleServiceSteps - Logging out in cleanup
11:19:26.187 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - Running database script from resources...
11:19:26.187 [main] INFO  o.e.k.c.jpa.SimpleSqlScriptExecutor - Running resources script: sql/all_delete.sql
11:19:26.188 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - ...database scripts from resources done!
11:19:26.188 [main] INFO  o.e.k.s.d.r.s.DeviceRegistrySteps - Logging out in cleanup
11:19:26.188 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - Running database script from resources...
11:19:26.188 [main] INFO  o.e.k.c.jpa.SimpleSqlScriptExecutor - Running resources script: sql/all_delete.sql
11:19:26.189 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - ...database scripts from resources done!
11:19:26.189 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - Running database script from resources...
11:19:26.189 [main] INFO  o.e.k.c.jpa.SimpleSqlScriptExecutor - Running resources script: sql/all_delete.sql
11:19:26.190 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - ...database scripts from resources done!
11:19:26.191 [main] INFO  o.eclipse.kapua.qa.common.BasicSteps - Wait multiplier active: 4.0
11:19:26.191 [main] INFO  org.eclipse.kapua.qa.common.DBHelper - Setting up embedded database
11:19:26.191 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - =================== KapuaLiquibaseClient Configuration ===================
11:19:26.191 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  Liquibase Version: 3.6.3
11:19:26.191 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  DB connection info
11:19:26.191 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	JDBC URL: jdbc:h2:mem:kapua;MODE=MySQL;DB_CLOSE_DELAY=-1;INIT=CREATE SCHEMA IF NOT EXISTS kapuadb\;SET SCHEMA kapuadb
11:19:26.191 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	Username: kapua
11:19:26.191 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	Password: ******
11:19:26.191 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	Schema: kapuadb
11:19:26.191 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  Timestamp(3) fix info (eclipse/kapua#2889)
11:19:26.191 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	Force timestamp fix: false
11:19:26.191 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	Apply timestamp fix: true
11:19:26.191 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - ==========================================
11:19:26.191 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Running Liquibase scripts...
11:19:26.214 [main] INFO  org.reflections.Reflections - Reflections took 6 ms to scan 22 urls, producing 1370 keys and 1388 values 
11:19:26.300 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing pre master files...
11:19:26.300 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 	Master Liquibase files found: 5
11:19:26.300 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-authorization-master.pre.xml...
11:19:26.337 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-event-store-master.pre.xml...
11:19:26.380 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-job-master.pre.xml...
11:19:26.411 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-scheduler-master.pre.xml...
11:19:26.442 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-system-configurations-master.pre.xml...
11:19:26.499 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing pre master files... DONE!
11:19:26.499 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing master files...
11:19:26.499 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 	Master Liquibase files found: 21
11:19:26.499 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-account-master.xml...
11:19:26.573 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-asset-job-master.xml...
11:19:26.613 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-authentication-master.xml...
11:19:26.717 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-authorization-master.xml...
11:19:26.889 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-broker-master.xml...
11:19:26.921 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-bundle-job-master.xml...
11:19:26.966 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-command-job-master.xml...
11:19:27.006 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-configuration-job-master.xml...
11:19:27.045 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-datastore-master.xml...
11:19:27.076 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-device-management-master.xml...
11:19:27.108 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-device-master.xml...
11:19:27.288 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-device_management_registry-master.xml...
11:19:27.371 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-endpoint-master.xml...
11:19:27.409 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-job-device-management-operation-master.xml...
11:19:27.441 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-job-engine-master.xml...
11:19:27.503 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-job-master.xml...
11:19:27.631 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-packages-job-master.xml...
11:19:27.678 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-scheduler-master.xml...
11:19:27.797 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-stream-master.xml...
11:19:27.825 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-tag-master.xml...
11:19:27.880 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-user-master.xml...
11:19:27.948 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing master files... DONE!
11:19:27.949 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing post master files...
11:19:27.949 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 	Master Liquibase files found: 5
11:19:27.949 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-asset-job-master.post.xml...
11:19:27.975 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-command-job-master.post.xml...
11:19:28.000 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-configuration-job-master.post.xml...
11:19:28.025 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-endpoint-master.post.xml...
11:19:28.054 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-packages-job-master.post.xml...
11:19:28.079 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing post master files... DONE!
11:19:28.079 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Running Liquibase scripts... DONE!

  Scenario: Test LOOSE user coupling with 3 connections                                 # features/connection/UserCouplingI9n.feature:205
    When I login as user with name "kapua-sys" and password "kapua-password"            # UserServiceSteps.loginUser(String,String)
    Given Account                                                                       # AccountServiceSteps.givenAccount(CucAccount>)
    And A full set of device privileges for account "test-acc-1"                        # DeviceRegistrySteps.setAccountDevicePrivileges(String)
    And The default connection coupling mode for account "test-acc-1" is set to "LOOSE" # DeviceRegistrySteps.setDeviceConnectionCouplingMode(String,String)
    And Such a set of privileged users for account "test-acc-1"                         # DeviceRegistrySteps.createPrivilegedUsers(String,CucUser>)
    And Devices such as                                                                 # DeviceRegistrySteps.createADevicesAsSpecified(CucDevice>)
    And The following device connections                                                # DeviceRegistrySteps.createConnectionForDevice(CucConnection>)
    Given The account name is test-acc-1 and the client ID is device-1                  # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-1:KeepCalm123.@localhost:1883                 # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                          # SimulatedDeviceSteps.startSimulator()
      java.lang.OutOfMemoryError: unable to create new native thread
      	at java.lang.Thread.start0(Native Method)
      	at java.lang.Thread.start(Thread.java:717)
      	at org.eclipse.paho.client.mqttv3.internal.ClientComms$ConnectBG.start(ClientComms.java:693)
      	at org.eclipse.paho.client.mqttv3.internal.ClientComms.connect(ClientComms.java:296)
      	at org.eclipse.paho.client.mqttv3.internal.ConnectActionListener.connect(ConnectActionListener.java:185)
      	at org.eclipse.paho.client.mqttv3.MqttAsyncClient.connect(MqttAsyncClient.java:642)
      	at org.eclipse.kapua.kura.simulator.MqttAsyncTransport.connect(MqttAsyncTransport.java:76)
      	at org.eclipse.kapua.kura.simulator.Simulator.<init>(Simulator.java:57)
      	at org.eclipse.kapua.qa.common.SimulatedDeviceSteps.startSimulator(SimulatedDeviceSteps.java:158)
      	at ✽.When I start the simulator(features/connection/UserCouplingI9n.feature:231)
      	Suppressed: java.lang.OutOfMemoryError: unable to create new native thread
      		at java.lang.Thread.start0(Native Method)
      		at java.lang.Thread.start(Thread.java:717)
      		at org.eclipse.paho.client.mqttv3.internal.ClientComms$DisconnectBG.start(ClientComms.java:762)
      		at org.eclipse.paho.client.mqttv3.internal.ClientComms.disconnect(ClientComms.java:521)
      		at org.eclipse.paho.client.mqttv3.MqttAsyncClient.disconnect(MqttAsyncClient.java:694)
      		at org.eclipse.paho.client.mqttv3.MqttAsyncClient.disconnect(MqttAsyncClient.java:673)
      		at org.eclipse.kapua.kura.simulator.MqttAsyncTransport.close(MqttAsyncTransport.java:116)
      		at org.eclipse.kapua.qa.common.Starting.close(Starting.java:95)
      		at org.eclipse.kapua.qa.common.SimulatedDeviceSteps.startSimulator(SimulatedDeviceSteps.java:162)
      		at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      		at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      		at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      		at java.lang.reflect.Method.invoke(Method.java:498)
      		at cucumber.runtime.Utils$1.call(Utils.java:37)
      		at cucumber.runtime.Timeout.timeout(Timeout.java:13)
      		at cucumber.runtime.Utils.invoke(Utils.java:31)
      		at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38)
      		at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37)
      		at cucumber.runtime.Runtime.runStep(Runtime.java:299)
      		at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44)
      		at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39)
      		at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44)
      		at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91)
      		at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63)
      		at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18)
      		at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
      		at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
      		at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
      		at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
      		at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
      		at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
      		at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70)
      		at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93)
      		at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37)
      		at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
      		at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
      		at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
      		at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
      		at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
      		at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
      		at cucumber.api.junit.Cucumber.run(Cucumber.java:98)
      		at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
      		at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:272)
      		at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:236)
      		at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
      		at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:386)
      		at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:323)
      		at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:143)

    And I wait for 2 seconds                                                            # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-1" in account "test-acc-1"   # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                            # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "CONNECTED"                                            # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    And The connection user is "test-user-1"                                            # DeviceRegistrySteps.checkDeviceConnectionUser(String)
    Then I stop the simulator                                                           # SimulatedDeviceSteps.stopSimulator()
    And I wait for 2 seconds                                                            # DeviceRegistrySteps.waitForSpecifiedTime(int)
    Given The account name is test-acc-1 and the client ID is device-2                  # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-1:KeepCalm123.@localhost:1883                 # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                          # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                            # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-2" in account "test-acc-1"   # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                            # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "CONNECTED"                                            # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    And The connection user is "test-user-1"                                            # DeviceRegistrySteps.checkDeviceConnectionUser(String)
    Then I stop the simulator                                                           # SimulatedDeviceSteps.stopSimulator()
    And I wait for 2 seconds                                                            # DeviceRegistrySteps.waitForSpecifiedTime(int)
    Given The account name is test-acc-1 and the client ID is device-3                  # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-1:KeepCalm123.@localhost:1883                 # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                          # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                            # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-3" in account "test-acc-1"   # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                            # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "CONNECTED"                                            # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    And The connection user is "test-user-1"                                            # DeviceRegistrySteps.checkDeviceConnectionUser(String)
    Then I stop the simulator                                                           # SimulatedDeviceSteps.stopSimulator()
    And I wait for 2 seconds                                                            # DeviceRegistrySteps.waitForSpecifiedTime(int)
11:19:28.546 [main] INFO  o.e.k.s.a.s.AuthenticationServiceShiroImpl - Login for thread '1' - 'main' - 'org.apache.shiro.subject.support.DelegatingSubject@3b39c3ca'
11:19:30.014 [main] INFO  o.e.k.s.a.steps.AccountServiceSteps - Logging out in cleanup
11:19:30.014 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - Running database script from resources...
11:19:30.014 [main] INFO  o.e.k.c.jpa.SimpleSqlScriptExecutor - Running resources script: sql/all_delete.sql
11:19:30.016 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - ...database scripts from resources done!
11:19:30.017 [main] INFO  o.e.k.s.user.steps.UserServiceSteps - Logging out in cleanup
11:19:30.017 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - Running database script from resources...
11:19:30.017 [main] INFO  o.e.k.c.jpa.SimpleSqlScriptExecutor - Running resources script: sql/all_delete.sql
11:19:30.018 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - ...database scripts from resources done!
11:19:30.018 [main] INFO  o.e.k.s.u.steps.UserRoleServiceSteps - Logging out in cleanup
11:19:30.018 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - Running database script from resources...
11:19:30.018 [main] INFO  o.e.k.c.jpa.SimpleSqlScriptExecutor - Running resources script: sql/all_delete.sql
11:19:30.019 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - ...database scripts from resources done!
11:19:30.019 [main] INFO  o.e.k.s.d.r.s.DeviceRegistrySteps - Logging out in cleanup
11:19:30.019 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - Running database script from resources...
11:19:30.019 [main] INFO  o.e.k.c.jpa.SimpleSqlScriptExecutor - Running resources script: sql/all_delete.sql
11:19:30.020 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - ...database scripts from resources done!
11:19:30.020 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - Running database script from resources...
11:19:30.020 [main] INFO  o.e.k.c.jpa.SimpleSqlScriptExecutor - Running resources script: sql/all_delete.sql
11:19:30.021 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - ...database scripts from resources done!
11:19:30.021 [main] INFO  o.eclipse.kapua.qa.common.BasicSteps - Wait multiplier active: 4.0
11:19:30.021 [main] INFO  org.eclipse.kapua.qa.common.DBHelper - Setting up embedded database
11:19:30.021 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - =================== KapuaLiquibaseClient Configuration ===================
11:19:30.021 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  Liquibase Version: 3.6.3
11:19:30.021 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  DB connection info
11:19:30.021 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	JDBC URL: jdbc:h2:mem:kapua;MODE=MySQL;DB_CLOSE_DELAY=-1;INIT=CREATE SCHEMA IF NOT EXISTS kapuadb\;SET SCHEMA kapuadb
11:19:30.021 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	Username: kapua
11:19:30.021 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	Password: ******
11:19:30.021 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	Schema: kapuadb
11:19:30.021 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  Timestamp(3) fix info (eclipse/kapua#2889)
11:19:30.021 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	Force timestamp fix: false
11:19:30.021 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	Apply timestamp fix: true
11:19:30.021 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - ==========================================
11:19:30.021 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Running Liquibase scripts...
11:19:30.044 [main] INFO  org.reflections.Reflections - Reflections took 5 ms to scan 22 urls, producing 1370 keys and 1388 values 
11:19:30.146 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing pre master files...
11:19:30.146 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 	Master Liquibase files found: 5
11:19:30.146 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-authorization-master.pre.xml...
11:19:30.185 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-event-store-master.pre.xml...
11:19:30.233 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-job-master.pre.xml...
11:19:30.267 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-scheduler-master.pre.xml...
11:19:30.300 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-system-configurations-master.pre.xml...
11:19:30.337 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing pre master files... DONE!
11:19:30.337 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing master files...
11:19:30.337 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 	Master Liquibase files found: 21
11:19:30.337 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-account-master.xml...
11:19:30.415 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-asset-job-master.xml...
11:19:30.457 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-authentication-master.xml...
11:19:30.563 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-authorization-master.xml...
11:19:30.741 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-broker-master.xml...
11:19:30.774 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-bundle-job-master.xml...
11:19:30.822 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-command-job-master.xml...
11:19:30.863 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-configuration-job-master.xml...
11:19:30.905 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-datastore-master.xml...
11:19:30.957 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-device-management-master.xml...
11:19:30.988 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-device-master.xml...
11:19:31.159 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-device_management_registry-master.xml...
11:19:31.226 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-endpoint-master.xml...
11:19:31.263 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-job-device-management-operation-master.xml...
11:19:31.298 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-job-engine-master.xml...
11:19:31.359 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-job-master.xml...
11:19:31.477 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-packages-job-master.xml...
11:19:31.522 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-scheduler-master.xml...
11:19:31.639 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-stream-master.xml...
11:19:31.665 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-tag-master.xml...
11:19:31.720 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-user-master.xml...
11:19:31.807 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing master files... DONE!
11:19:31.807 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing post master files...
11:19:31.808 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 	Master Liquibase files found: 5
11:19:31.808 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-asset-job-master.post.xml...
11:19:31.834 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-command-job-master.post.xml...
11:19:31.859 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-configuration-job-master.post.xml...
11:19:31.884 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-endpoint-master.post.xml...
11:19:31.915 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-packages-job-master.post.xml...
11:19:31.939 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing post master files... DONE!
11:19:31.939 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Running Liquibase scripts... DONE!

  Scenario: Test STRICT user coupling with 3 connections and a reserved user            # features/connection/UserCouplingI9n.feature:262
    When I login as user with name "kapua-sys" and password "kapua-password"            # UserServiceSteps.loginUser(String,String)
    Given Account                                                                       # AccountServiceSteps.givenAccount(CucAccount>)
    And A full set of device privileges for account "test-acc-1"                        # DeviceRegistrySteps.setAccountDevicePrivileges(String)
    And The default connection coupling mode for account "test-acc-1" is set to "LOOSE" # DeviceRegistrySteps.setDeviceConnectionCouplingMode(String,String)
    And Such a set of privileged users for account "test-acc-1"                         # DeviceRegistrySteps.createPrivilegedUsers(String,CucUser>)
    And Devices such as                                                                 # DeviceRegistrySteps.createADevicesAsSpecified(CucDevice>)
    And The following device connections                                                # DeviceRegistrySteps.createConnectionForDevice(CucConnection>)
    Given The account name is test-acc-1 and the client ID is device-1                  # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-1:KeepCalm123.@localhost:1883                 # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                          # SimulatedDeviceSteps.startSimulator()
      java.lang.OutOfMemoryError: unable to create new native thread
      	at java.lang.Thread.start0(Native Method)
      	at java.lang.Thread.start(Thread.java:717)
      	at org.eclipse.paho.client.mqttv3.internal.ClientComms$ConnectBG.start(ClientComms.java:693)
      	at org.eclipse.paho.client.mqttv3.internal.ClientComms.connect(ClientComms.java:296)
      	at org.eclipse.paho.client.mqttv3.internal.ConnectActionListener.connect(ConnectActionListener.java:185)
      	at org.eclipse.paho.client.mqttv3.MqttAsyncClient.connect(MqttAsyncClient.java:642)
      	at org.eclipse.kapua.kura.simulator.MqttAsyncTransport.connect(MqttAsyncTransport.java:76)
      	at org.eclipse.kapua.kura.simulator.Simulator.<init>(Simulator.java:57)
      	at org.eclipse.kapua.qa.common.SimulatedDeviceSteps.startSimulator(SimulatedDeviceSteps.java:158)
      	at ✽.When I start the simulator(features/connection/UserCouplingI9n.feature:288)
      	Suppressed: java.lang.OutOfMemoryError: unable to create new native thread
      		at java.lang.Thread.start0(Native Method)
      		at java.lang.Thread.start(Thread.java:717)
      		at org.eclipse.paho.client.mqttv3.internal.ClientComms$DisconnectBG.start(ClientComms.java:762)
      		at org.eclipse.paho.client.mqttv3.internal.ClientComms.disconnect(ClientComms.java:521)
      		at org.eclipse.paho.client.mqttv3.MqttAsyncClient.disconnect(MqttAsyncClient.java:694)
      		at org.eclipse.paho.client.mqttv3.MqttAsyncClient.disconnect(MqttAsyncClient.java:673)
      		at org.eclipse.kapua.kura.simulator.MqttAsyncTransport.close(MqttAsyncTransport.java:116)
      		at org.eclipse.kapua.qa.common.Starting.close(Starting.java:95)
      		at org.eclipse.kapua.qa.common.SimulatedDeviceSteps.startSimulator(SimulatedDeviceSteps.java:162)
      		at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      		at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      		at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      		at java.lang.reflect.Method.invoke(Method.java:498)
      		at cucumber.runtime.Utils$1.call(Utils.java:37)
      		at cucumber.runtime.Timeout.timeout(Timeout.java:13)
      		at cucumber.runtime.Utils.invoke(Utils.java:31)
      		at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38)
      		at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37)
      		at cucumber.runtime.Runtime.runStep(Runtime.java:299)
      		at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44)
      		at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39)
      		at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44)
      		at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91)
      		at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63)
      		at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18)
      		at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
      		at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
      		at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
      		at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
      		at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
      		at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
      		at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70)
      		at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93)
      		at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37)
      		at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
      		at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
      		at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
      		at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
      		at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
      		at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
      		at cucumber.api.junit.Cucumber.run(Cucumber.java:98)
      		at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
      		at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:272)
      		at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:236)
      		at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
      		at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:386)
      		at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:323)
      		at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:143)

    And I wait for 2 seconds                                                            # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-1" in account "test-acc-1"   # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                            # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "CONNECTED"                                            # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Then I stop the simulator                                                           # SimulatedDeviceSteps.stopSimulator()
    And I wait for 2 seconds                                                            # DeviceRegistrySteps.waitForSpecifiedTime(int)
    Given The account name is test-acc-1 and the client ID is device-1                  # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-2:KeepCalm123.@localhost:1883                 # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                          # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                            # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-1" in account "test-acc-1"   # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                            # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "DISCONNECTED"                                         # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Given The account name is test-acc-1 and the client ID is device-1                  # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-3:KeepCalm123.@localhost:1883                 # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                          # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                            # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-1" in account "test-acc-1"   # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                            # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "DISCONNECTED"                                         # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Given The account name is test-acc-1 and the client ID is device-2                  # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-1:KeepCalm123.@localhost:1883                 # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                          # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                            # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-2" in account "test-acc-1"   # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                            # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "DISCONNECTED"                                         # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Given The account name is test-acc-1 and the client ID is device-2                  # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-2:KeepCalm123.@localhost:1883                 # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                          # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                            # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-2" in account "test-acc-1"   # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                            # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "CONNECTED"                                            # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Then I stop the simulator                                                           # SimulatedDeviceSteps.stopSimulator()
    And I wait for 2 seconds                                                            # DeviceRegistrySteps.waitForSpecifiedTime(int)
    Given The account name is test-acc-1 and the client ID is device-3                  # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-1:KeepCalm123.@localhost:1883                 # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                          # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                            # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-3" in account "test-acc-1"   # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                            # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "DISCONNECTED"                                         # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Given The account name is test-acc-1 and the client ID is device-3                  # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-3:KeepCalm123.@localhost:1883                 # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                          # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                            # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-3" in account "test-acc-1"   # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                            # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "CONNECTED"                                            # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Then I stop the simulator                                                           # SimulatedDeviceSteps.stopSimulator()
    And I wait for 2 seconds                                                            # DeviceRegistrySteps.waitForSpecifiedTime(int)
11:19:32.421 [main] INFO  o.e.k.s.a.s.AuthenticationServiceShiroImpl - Login for thread '1' - 'main' - 'org.apache.shiro.subject.support.DelegatingSubject@3b39c3ca'
11:19:33.946 [main] INFO  o.e.k.s.a.steps.AccountServiceSteps - Logging out in cleanup
11:19:33.946 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - Running database script from resources...
11:19:33.946 [main] INFO  o.e.k.c.jpa.SimpleSqlScriptExecutor - Running resources script: sql/all_delete.sql
11:19:33.949 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - ...database scripts from resources done!
11:19:33.949 [main] INFO  o.e.k.s.user.steps.UserServiceSteps - Logging out in cleanup
11:19:33.949 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - Running database script from resources...
11:19:33.949 [main] INFO  o.e.k.c.jpa.SimpleSqlScriptExecutor - Running resources script: sql/all_delete.sql
11:19:33.950 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - ...database scripts from resources done!
11:19:33.950 [main] INFO  o.e.k.s.u.steps.UserRoleServiceSteps - Logging out in cleanup
11:19:33.950 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - Running database script from resources...
11:19:33.950 [main] INFO  o.e.k.c.jpa.SimpleSqlScriptExecutor - Running resources script: sql/all_delete.sql
11:19:33.951 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - ...database scripts from resources done!
11:19:33.951 [main] INFO  o.e.k.s.d.r.s.DeviceRegistrySteps - Logging out in cleanup
11:19:33.951 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - Running database script from resources...
11:19:33.951 [main] INFO  o.e.k.c.jpa.SimpleSqlScriptExecutor - Running resources script: sql/all_delete.sql
11:19:33.951 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - ...database scripts from resources done!
11:19:33.952 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - Running database script from resources...
11:19:33.952 [main] INFO  o.e.k.c.jpa.SimpleSqlScriptExecutor - Running resources script: sql/all_delete.sql
11:19:33.962 [main] INFO  o.e.k.c.c.KapuaConfigurableServiceSchemaUtilsWithResources - ...database scripts from resources done!
11:19:33.962 [main] INFO  o.eclipse.kapua.qa.common.BasicSteps - Wait multiplier active: 4.0
11:19:33.963 [main] INFO  org.eclipse.kapua.qa.common.DBHelper - Setting up embedded database
11:19:33.963 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - =================== KapuaLiquibaseClient Configuration ===================
11:19:33.963 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  Liquibase Version: 3.6.3
11:19:33.963 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  DB connection info
11:19:33.963 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	JDBC URL: jdbc:h2:mem:kapua;MODE=MySQL;DB_CLOSE_DELAY=-1;INIT=CREATE SCHEMA IF NOT EXISTS kapuadb\;SET SCHEMA kapuadb
11:19:33.963 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	Username: kapua
11:19:33.963 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	Password: ******
11:19:33.963 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	Schema: kapuadb
11:19:33.963 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  Timestamp(3) fix info (eclipse/kapua#2889)
11:19:33.963 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	Force timestamp fix: false
11:19:33.963 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - |  	Apply timestamp fix: true
11:19:33.963 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - ==========================================
11:19:33.963 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Running Liquibase scripts...
11:19:33.987 [main] INFO  org.reflections.Reflections - Reflections took 6 ms to scan 22 urls, producing 1370 keys and 1388 values 
11:19:34.083 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing pre master files...
11:19:34.083 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 	Master Liquibase files found: 5
11:19:34.083 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-authorization-master.pre.xml...
11:19:34.124 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-event-store-master.pre.xml...
11:19:34.170 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-job-master.pre.xml...
11:19:34.202 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-scheduler-master.pre.xml...
11:19:34.235 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-system-configurations-master.pre.xml...
11:19:34.271 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing pre master files... DONE!
11:19:34.271 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing master files...
11:19:34.272 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 	Master Liquibase files found: 21
11:19:34.272 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-account-master.xml...
11:19:34.344 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-asset-job-master.xml...
11:19:34.384 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-authentication-master.xml...
11:19:34.504 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-authorization-master.xml...
11:19:34.678 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-broker-master.xml...
11:19:34.710 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-bundle-job-master.xml...
11:19:34.758 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-command-job-master.xml...
11:19:34.800 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-configuration-job-master.xml...
11:19:34.841 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-datastore-master.xml...
11:19:34.874 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-device-management-master.xml...
11:19:34.906 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-device-master.xml...
11:19:35.085 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-device_management_registry-master.xml...
11:19:35.152 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-endpoint-master.xml...
11:19:35.198 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-job-device-management-operation-master.xml...
11:19:35.230 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-job-engine-master.xml...
11:19:35.294 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-job-master.xml...
11:19:35.431 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-packages-job-master.xml...
11:19:35.477 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-scheduler-master.xml...
11:19:35.599 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-stream-master.xml...
11:19:35.627 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-tag-master.xml...
11:19:35.683 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-user-master.xml...
11:19:35.753 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing master files... DONE!
11:19:35.753 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing post master files...
11:19:35.753 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 	Master Liquibase files found: 5
11:19:35.753 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-asset-job-master.post.xml...
11:19:35.778 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-command-job-master.post.xml...
11:19:35.805 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-configuration-job-master.post.xml...
11:19:35.830 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-endpoint-master.post.xml...
11:19:35.858 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - 		Executing liquibase script: /tmp/kapua-liquibase/changelog-packages-job-master.post.xml...
11:19:35.885 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Executing post master files... DONE!
11:19:35.885 [main] INFO  o.e.k.c.l.KapuaLiquibaseClient - Running Liquibase scripts... DONE!

  Scenario: Extra long continuous test with multiple subscenarios with LOOSE default connection mode                # features/connection/UserCouplingI9n.feature:348
    When I login as user with name "kapua-sys" and password "kapua-password"                                        # UserServiceSteps.loginUser(String,String)
    Given Account                                                                                                   # AccountServiceSteps.givenAccount(CucAccount>)
    And A full set of device privileges for account "test-acc-1"                                                    # DeviceRegistrySteps.setAccountDevicePrivileges(String)
    And The default connection coupling mode for account "test-acc-1" is set to "LOOSE"                             # DeviceRegistrySteps.setDeviceConnectionCouplingMode(String,String)
    And Such a set of privileged users for account "test-acc-1"                                                     # DeviceRegistrySteps.createPrivilegedUsers(String,CucUser>)
    And Devices such as                                                                                             # DeviceRegistrySteps.createADevicesAsSpecified(CucDevice>)
    And The following device connections                                                                            # DeviceRegistrySteps.createConnectionForDevice(CucConnection>)
    Given The account name is test-acc-1 and the client ID is device-1                                              # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-1:KeepCalm123.@localhost:1883                                             # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                                                      # SimulatedDeviceSteps.startSimulator()
      java.lang.OutOfMemoryError: unable to create new native thread
      	at java.lang.Thread.start0(Native Method)
      	at java.lang.Thread.start(Thread.java:717)
      	at org.eclipse.paho.client.mqttv3.internal.ClientComms$ConnectBG.start(ClientComms.java:693)
      	at org.eclipse.paho.client.mqttv3.internal.ClientComms.connect(ClientComms.java:296)
      	at org.eclipse.paho.client.mqttv3.internal.ConnectActionListener.connect(ConnectActionListener.java:185)
      	at org.eclipse.paho.client.mqttv3.MqttAsyncClient.connect(MqttAsyncClient.java:642)
      	at org.eclipse.kapua.kura.simulator.MqttAsyncTransport.connect(MqttAsyncTransport.java:76)
      	at org.eclipse.kapua.kura.simulator.Simulator.<init>(Simulator.java:57)
      	at org.eclipse.kapua.qa.common.SimulatedDeviceSteps.startSimulator(SimulatedDeviceSteps.java:158)
      	at ✽.When I start the simulator(features/connection/UserCouplingI9n.feature:374)
      	Suppressed: java.lang.OutOfMemoryError: unable to create new native thread
      		at java.lang.Thread.start0(Native Method)
      		at java.lang.Thread.start(Thread.java:717)
      		at org.eclipse.paho.client.mqttv3.internal.ClientComms$DisconnectBG.start(ClientComms.java:762)
      		at org.eclipse.paho.client.mqttv3.internal.ClientComms.disconnect(ClientComms.java:521)
      		at org.eclipse.paho.client.mqttv3.MqttAsyncClient.disconnect(MqttAsyncClient.java:694)
      		at org.eclipse.paho.client.mqttv3.MqttAsyncClient.disconnect(MqttAsyncClient.java:673)
      		at org.eclipse.kapua.kura.simulator.MqttAsyncTransport.close(MqttAsyncTransport.java:116)
      		at org.eclipse.kapua.qa.common.Starting.close(Starting.java:95)
      		at org.eclipse.kapua.qa.common.SimulatedDeviceSteps.startSimulator(SimulatedDeviceSteps.java:162)
      		at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      		at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      		at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      		at java.lang.reflect.Method.invoke(Method.java:498)
      		at cucumber.runtime.Utils$1.call(Utils.java:37)
      		at cucumber.runtime.Timeout.timeout(Timeout.java:13)
      		at cucumber.runtime.Utils.invoke(Utils.java:31)
      		at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38)
      		at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37)
      		at cucumber.runtime.Runtime.runStep(Runtime.java:299)
      		at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44)
      		at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39)
      		at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44)
      		at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91)
      		at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63)
      		at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18)
      		at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
      		at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
      		at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
      		at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
      		at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
      		at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
      		at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70)
      		at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93)
      		at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37)
      		at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
      		at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
      		at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
      		at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
      		at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
      		at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
      		at cucumber.api.junit.Cucumber.run(Cucumber.java:98)
      		at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
      		at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:272)
      		at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:236)
      		at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
      		at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:386)
      		at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:323)
      		at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:143)

    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-1" in account "test-acc-1"                               # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                                                        # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "CONNECTED"                                                                        # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    And The connection user is "test-user-1"                                                                        # DeviceRegistrySteps.checkDeviceConnectionUser(String)
    Then I stop the simulator                                                                                       # SimulatedDeviceSteps.stopSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    Given The account name is test-acc-1 and the client ID is device-2                                              # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-1:KeepCalm123.@localhost:1883                                             # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                                                      # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-2" in account "test-acc-1"                               # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                                                        # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "CONNECTED"                                                                        # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    And The connection user is "test-user-1"                                                                        # DeviceRegistrySteps.checkDeviceConnectionUser(String)
    Then I stop the simulator                                                                                       # SimulatedDeviceSteps.stopSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    Given The account name is test-acc-1 and the client ID is device-3                                              # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-1:KeepCalm123.@localhost:1883                                             # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                                                      # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-3" in account "test-acc-1"                               # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                                                        # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "CONNECTED"                                                                        # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    And The connection user is "test-user-1"                                                                        # DeviceRegistrySteps.checkDeviceConnectionUser(String)
    Then I stop the simulator                                                                                       # SimulatedDeviceSteps.stopSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    Then I set the user coupling mode for the connection from device "device-1" in account "test-acc-1" to "STRICT" # DeviceRegistrySteps.modifyDeviceConnectionCouplingMode(String,String,String)
    And I set the reserved user for the connection from device "device-1" in account "test-acc-1" to "test-user-1"  # DeviceRegistrySteps.modifyDeviceConnectionReservedUser(String,String,String)
    Given The account name is test-acc-1 and the client ID is device-1                                              # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-1:KeepCalm123.@localhost:1883                                             # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                                                      # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-1" in account "test-acc-1"                               # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                                                        # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "CONNECTED"                                                                        # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Then I stop the simulator                                                                                       # SimulatedDeviceSteps.stopSimulator()
    Given The account name is test-acc-1 and the client ID is device-1                                              # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-2:KeepCalm123.@localhost:1883                                             # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                                                      # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-1" in account "test-acc-1"                               # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                                                        # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "DISCONNECTED"                                                                     # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Given The account name is test-acc-1 and the client ID is device-1                                              # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-3:KeepCalm123.@localhost:1883                                             # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                                                      # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-1" in account "test-acc-1"                               # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                                                        # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "DISCONNECTED"                                                                     # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Given The account name is test-acc-1 and the client ID is device-2                                              # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-1:KeepCalm123.@localhost:1883                                             # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                                                      # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-2" in account "test-acc-1"                               # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                                                        # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "DISCONNECTED"                                                                     # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Given The account name is test-acc-1 and the client ID is device-2                                              # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-2:KeepCalm123.@localhost:1883                                             # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                                                      # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-2" in account "test-acc-1"                               # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                                                        # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "CONNECTED"                                                                        # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Then I stop the simulator                                                                                       # SimulatedDeviceSteps.stopSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    Given The account name is test-acc-1 and the client ID is device-3                                              # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-1:KeepCalm123.@localhost:1883                                             # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                                                      # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-3" in account "test-acc-1"                               # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                                                        # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "DISCONNECTED"                                                                     # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Given The account name is test-acc-1 and the client ID is device-3                                              # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-3:KeepCalm123.@localhost:1883                                             # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                                                      # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-3" in account "test-acc-1"                               # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                                                        # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "CONNECTED"                                                                        # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Then I stop the simulator                                                                                       # SimulatedDeviceSteps.stopSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    And I set the reserved user for the connection from device "device-1" in account "test-acc-1" to "null"         # DeviceRegistrySteps.modifyDeviceConnectionReservedUser(String,String,String)
    Given The account name is test-acc-1 and the client ID is device-1                                              # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-1:KeepCalm123.@localhost:1883                                             # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                                                      # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-1" in account "test-acc-1"                               # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                                                        # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "CONNECTED"                                                                        # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Then I stop the simulator                                                                                       # SimulatedDeviceSteps.stopSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    Given The account name is test-acc-1 and the client ID is device-1                                              # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-2:KeepCalm123.@localhost:1883                                             # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                                                      # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-1" in account "test-acc-1"                               # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                                                        # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "DISCONNECTED"                                                                     # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Given The account name is test-acc-1 and the client ID is device-1                                              # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-3:KeepCalm123.@localhost:1883                                             # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                                                      # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-1" in account "test-acc-1"                               # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                                                        # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "DISCONNECTED"                                                                     # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Given The account name is test-acc-1 and the client ID is device-2                                              # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-1:KeepCalm123.@localhost:1883                                             # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                                                      # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-2" in account "test-acc-1"                               # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                                                        # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "CONNECTED"                                                                        # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Then I stop the simulator                                                                                       # SimulatedDeviceSteps.stopSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    Given The account name is test-acc-1 and the client ID is device-2                                              # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-2:KeepCalm123.@localhost:1883                                             # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                                                      # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-2" in account "test-acc-1"                               # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                                                        # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "CONNECTED"                                                                        # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Then I stop the simulator                                                                                       # SimulatedDeviceSteps.stopSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    Given The account name is test-acc-1 and the client ID is device-3                                              # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-1:KeepCalm123.@localhost:1883                                             # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                                                      # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-3" in account "test-acc-1"                               # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                                                        # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "CONNECTED"                                                                        # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Then I stop the simulator                                                                                       # SimulatedDeviceSteps.stopSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    Given The account name is test-acc-1 and the client ID is device-3                                              # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-3:KeepCalm123.@localhost:1883                                             # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                                                      # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-3" in account "test-acc-1"                               # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                                                        # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "CONNECTED"                                                                        # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Then I stop the simulator                                                                                       # SimulatedDeviceSteps.stopSimulator()
    And I set the reserved user for the connection from device "device-1" in account "test-acc-1" to "test-user-1"  # DeviceRegistrySteps.modifyDeviceConnectionReservedUser(String,String,String)
    Then I set the user coupling mode for the connection from device "device-2" in account "test-acc-1" to "STRICT" # DeviceRegistrySteps.modifyDeviceConnectionCouplingMode(String,String,String)
    # Try to set a duplicate reserved user
    Given I expect the exception "KapuaException" with the text "Error during Persistence Operation"                # BasicSteps.setExpectedExceptionDetails(String,String)
    When I set the reserved user for the connection from device "device-2" in account "test-acc-1" to "test-user-1" # DeviceRegistrySteps.modifyDeviceConnectionReservedUser(String,String,String)
    Then An exception was thrown                                                                                    # BasicSteps.exceptionCaught()
    # Reserved users must be unique!
    When I set the reserved user for the connection from device "device-2" in account "test-acc-1" to "test-user-2" # DeviceRegistrySteps.modifyDeviceConnectionReservedUser(String,String,String)
    Then No exception was thrown                                                                                    # BasicSteps.noExceptionCaught()
    Given The account name is test-acc-1 and the client ID is device-1                                              # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-1:KeepCalm123.@localhost:1883                                             # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                                                      # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-1" in account "test-acc-1"                               # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                                                        # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "CONNECTED"                                                                        # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Then I stop the simulator                                                                                       # SimulatedDeviceSteps.stopSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    Given The account name is test-acc-1 and the client ID is device-1                                              # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-2:KeepCalm123.@localhost:1883                                             # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                                                      # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-1" in account "test-acc-1"                               # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                                                        # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "DISCONNECTED"                                                                     # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Given The account name is test-acc-1 and the client ID is device-1                                              # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-3:KeepCalm123.@localhost:1883                                             # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                                                      # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-1" in account "test-acc-1"                               # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                                                        # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "DISCONNECTED"                                                                     # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Given The account name is test-acc-1 and the client ID is device-2                                              # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-1:KeepCalm123.@localhost:1883                                             # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                                                      # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-2" in account "test-acc-1"                               # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                                                        # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "DISCONNECTED"                                                                     # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Given The account name is test-acc-1 and the client ID is device-2                                              # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-2:KeepCalm123.@localhost:1883                                             # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                                                      # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-2" in account "test-acc-1"                               # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                                                        # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "CONNECTED"                                                                        # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Then I stop the simulator                                                                                       # SimulatedDeviceSteps.stopSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    Given The account name is test-acc-1 and the client ID is device-2                                              # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-3:KeepCalm123.@localhost:1883                                             # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                                                      # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-2" in account "test-acc-1"                               # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                                                        # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "DISCONNECTED"                                                                     # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Given The account name is test-acc-1 and the client ID is device-3                                              # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-1:KeepCalm123.@localhost:1883                                             # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                                                      # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-3" in account "test-acc-1"                               # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                                                        # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "DISCONNECTED"                                                                     # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Given The account name is test-acc-1 and the client ID is device-3                                              # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-2:KeepCalm123.@localhost:1883                                             # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                                                      # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-3" in account "test-acc-1"                               # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                                                        # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "DISCONNECTED"                                                                     # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Given The account name is test-acc-1 and the client ID is device-3                                              # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-3:KeepCalm123.@localhost:1883                                             # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                                                      # SimulatedDeviceSteps.startSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I search for a connection from the device "device-3" in account "test-acc-1"                               # DeviceRegistrySteps.searchForConnectionFromDeviceWithClientID(String,String)
    Then I find 1 connection                                                                                        # DeviceRegistrySteps.checkResultListLength(int)
    And The connection status is "CONNECTED"                                                                        # DeviceRegistrySteps.checkDeviceConnectionStatus(String)
    Then I stop the simulator                                                                                       # SimulatedDeviceSteps.stopSimulator()
    And I wait for 2 seconds                                                                                        # DeviceRegistrySteps.waitForSpecifiedTime(int)
    When I set the reserved user for the connection from device "device-2" in account "test-acc-1" to "null"        # DeviceRegistrySteps.modifyDeviceConnectionReservedUser(String,String,String)
    Given The account name is test-acc-1 and the client ID is device-1                                              # SimulatedDeviceSteps.setClientId(String,String)
    And The broker URI is tcp://test-user-1:KeepCalm123.@localhost:1883                                             # SimulatedDeviceSteps.setNodeUri(String)
    When I start the simulator                                                                                      # SimulatedDeviceSteps.startSimulator()
Build step 'Invoke top-level Maven targets' marked build as failure
WARN: Unable to locate 'report-task.txt' in the workspace. Did the SonarScanner succeed?
[htmlpublisher] Archiving HTML reports...
[htmlpublisher] Archiving at PROJECT level /home/jenkins/agent/workspace/develop/dev-tools/cucumber-reports/target/kapua-cucumber-report to /var/jenkins/jobs/develop/htmlreports/Cucumber_20reports
Recording test results
[Checks API] No suitable checks publisher found.
Finished: FAILURE