committed by
GitHub
21 changed files with 489 additions and 39 deletions
@ -0,0 +1,40 @@ |
|||||
|
/** |
||||
|
* Copyright © 2016-2025 The Thingsboard Authors |
||||
|
* |
||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
|
* you may not use this file except in compliance with the License. |
||||
|
* You may obtain a copy of the License at |
||||
|
* |
||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
* |
||||
|
* Unless required by applicable law or agreed to in writing, software |
||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
|
* See the License for the specific language governing permissions and |
||||
|
* limitations under the License. |
||||
|
*/ |
||||
|
package org.thingsboard.server.transport.lwm2m.security.cid; |
||||
|
|
||||
|
import lombok.extern.slf4j.Slf4j; |
||||
|
import org.springframework.test.context.TestPropertySource; |
||||
|
import org.thingsboard.server.dao.service.DaoSqlTest; |
||||
|
|
||||
|
|
||||
|
@TestPropertySource(properties = { |
||||
|
"transport.lwm2m.dtls.connection_id_length=16" |
||||
|
}) |
||||
|
|
||||
|
@DaoSqlTest |
||||
|
@Slf4j |
||||
|
public abstract class AbstractSecurityLwM2MIntegrationDtlsCidLength16Test extends AbstractSecurityLwM2MIntegrationDtlsCidLengthTest { |
||||
|
|
||||
|
private static final Integer serverDtlsCidLength = 16; |
||||
|
|
||||
|
protected void testNoSecDtlsCidLength(Integer clientDtlsCidLength) throws Exception { |
||||
|
testNoSecDtlsCidLength(clientDtlsCidLength, serverDtlsCidLength); |
||||
|
} |
||||
|
|
||||
|
protected void testPskDtlsCidLength(Integer clientDtlsCidLength) throws Exception { |
||||
|
testPskDtlsCidLength(clientDtlsCidLength, serverDtlsCidLength); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,39 @@ |
|||||
|
/** |
||||
|
* Copyright © 2016-2025 The Thingsboard Authors |
||||
|
* |
||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
|
* you may not use this file except in compliance with the License. |
||||
|
* You may obtain a copy of the License at |
||||
|
* |
||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
* |
||||
|
* Unless required by applicable law or agreed to in writing, software |
||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
|
* See the License for the specific language governing permissions and |
||||
|
* limitations under the License. |
||||
|
*/ |
||||
|
package org.thingsboard.server.transport.lwm2m.security.cid; |
||||
|
|
||||
|
import lombok.extern.slf4j.Slf4j; |
||||
|
import org.springframework.test.context.TestPropertySource; |
||||
|
import org.thingsboard.server.dao.service.DaoSqlTest; |
||||
|
|
||||
|
|
||||
|
@TestPropertySource(properties = { |
||||
|
"transport.lwm2m.dtls.connection_id_length=2" |
||||
|
}) |
||||
|
|
||||
|
@DaoSqlTest |
||||
|
@Slf4j |
||||
|
public abstract class AbstractSecurityLwM2MIntegrationDtlsCidLength2Test extends AbstractSecurityLwM2MIntegrationDtlsCidLengthTest { |
||||
|
|
||||
|
private static final Integer serverDtlsCidLength = 2; |
||||
|
|
||||
|
protected void testNoSecDtlsCidLength(Integer dtlsCidLength) throws Exception { |
||||
|
testNoSecDtlsCidLength(dtlsCidLength, serverDtlsCidLength); |
||||
|
} |
||||
|
protected void testPskDtlsCidLength(Integer dtlsCidLength) throws Exception { |
||||
|
testPskDtlsCidLength(dtlsCidLength, serverDtlsCidLength); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,39 @@ |
|||||
|
/** |
||||
|
* Copyright © 2016-2025 The Thingsboard Authors |
||||
|
* |
||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
|
* you may not use this file except in compliance with the License. |
||||
|
* You may obtain a copy of the License at |
||||
|
* |
||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
* |
||||
|
* Unless required by applicable law or agreed to in writing, software |
||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
|
* See the License for the specific language governing permissions and |
||||
|
* limitations under the License. |
||||
|
*/ |
||||
|
package org.thingsboard.server.transport.lwm2m.security.cid; |
||||
|
|
||||
|
import lombok.extern.slf4j.Slf4j; |
||||
|
import org.springframework.test.context.TestPropertySource; |
||||
|
import org.thingsboard.server.dao.service.DaoSqlTest; |
||||
|
|
||||
|
|
||||
|
@TestPropertySource(properties = { |
||||
|
"transport.lwm2m.dtls.connection_id_length=4" |
||||
|
}) |
||||
|
|
||||
|
@DaoSqlTest |
||||
|
@Slf4j |
||||
|
public abstract class AbstractSecurityLwM2MIntegrationDtlsCidLength4Test extends AbstractSecurityLwM2MIntegrationDtlsCidLengthTest { |
||||
|
|
||||
|
private static final Integer serverDtlsCidLength = 4; |
||||
|
|
||||
|
protected void testNoSecDtlsCidLength(Integer dtlsCidLength) throws Exception { |
||||
|
testNoSecDtlsCidLength(dtlsCidLength, serverDtlsCidLength); |
||||
|
} |
||||
|
protected void testPskDtlsCidLength(Integer dtlsCidLength) throws Exception { |
||||
|
testPskDtlsCidLength(dtlsCidLength, serverDtlsCidLength); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,64 @@ |
|||||
|
/** |
||||
|
* Copyright © 2016-2025 The Thingsboard Authors |
||||
|
* |
||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
|
* you may not use this file except in compliance with the License. |
||||
|
* You may obtain a copy of the License at |
||||
|
* |
||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
* |
||||
|
* Unless required by applicable law or agreed to in writing, software |
||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
|
* See the License for the specific language governing permissions and |
||||
|
* limitations under the License. |
||||
|
*/ |
||||
|
package org.thingsboard.server.transport.lwm2m.security.cid.serverDtlsCidLength_1; |
||||
|
|
||||
|
import org.junit.Before; |
||||
|
import org.junit.Test; |
||||
|
import org.thingsboard.server.transport.lwm2m.security.cid.AbstractSecurityLwM2MIntegrationDtlsCidLength0Test; |
||||
|
import org.thingsboard.server.transport.lwm2m.security.cid.AbstractSecurityLwM2MIntegrationDtlsCidLength1Test; |
||||
|
|
||||
|
import static org.thingsboard.server.common.data.device.credentials.lwm2m.LwM2MSecurityMode.PSK; |
||||
|
import static org.thingsboard.server.transport.lwm2m.Lwm2mTestHelper.LwM2MProfileBootstrapConfigType.NONE; |
||||
|
|
||||
|
public class PskLwm2mIntegrationDtlsCidLengthTest extends AbstractSecurityLwM2MIntegrationDtlsCidLength1Test { |
||||
|
|
||||
|
@Before |
||||
|
public void createProfileRpc() { |
||||
|
transportConfiguration = getTransportConfiguration(OBSERVE_ATTRIBUTES_WITHOUT_PARAMS, getBootstrapServerCredentialsSecure(PSK, NONE)); |
||||
|
awaitAlias = "await on client state (Psk_Lwm2m) serverDtlsCidLength = 1"; |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
public void testWithPskConnectLwm2mSuccessClientDtlsCidLength_Null() throws Exception { |
||||
|
testPskDtlsCidLength(null); |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
public void testWithPskConnectLwm2mSuccessClientDtlsCidLength_0() throws Exception { |
||||
|
testPskDtlsCidLength(0); |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
public void testWithPskConnectLwm2mSuccessClientDtlsCidLength_1() throws Exception { |
||||
|
testPskDtlsCidLength(1); |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
public void testWithPskConnectLwm2mSuccessClientDtlsCidLength_2() throws Exception { |
||||
|
testPskDtlsCidLength(2); |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
public void testWithPskConnectLwm2mSuccessClientDtlsCidLength_4() throws Exception { |
||||
|
testPskDtlsCidLength(4); |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
public void testWithPskConnectLwm2mSuccessClientDtlsCidLength_16() throws Exception { |
||||
|
testPskDtlsCidLength(16); |
||||
|
} |
||||
|
} |
||||
|
|
||||
@ -0,0 +1,64 @@ |
|||||
|
/** |
||||
|
* Copyright © 2016-2025 The Thingsboard Authors |
||||
|
* |
||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
|
* you may not use this file except in compliance with the License. |
||||
|
* You may obtain a copy of the License at |
||||
|
* |
||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
* |
||||
|
* Unless required by applicable law or agreed to in writing, software |
||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
|
* See the License for the specific language governing permissions and |
||||
|
* limitations under the License. |
||||
|
*/ |
||||
|
package org.thingsboard.server.transport.lwm2m.security.cid.serverDtlsCidLength_16; |
||||
|
|
||||
|
import org.junit.Before; |
||||
|
import org.junit.Test; |
||||
|
import org.thingsboard.server.transport.lwm2m.security.cid.AbstractSecurityLwM2MIntegrationDtlsCidLength16Test; |
||||
|
import org.thingsboard.server.transport.lwm2m.security.cid.AbstractSecurityLwM2MIntegrationDtlsCidLength4Test; |
||||
|
|
||||
|
import static org.thingsboard.server.common.data.device.credentials.lwm2m.LwM2MSecurityMode.PSK; |
||||
|
import static org.thingsboard.server.transport.lwm2m.Lwm2mTestHelper.LwM2MProfileBootstrapConfigType.NONE; |
||||
|
|
||||
|
public class PskLwm2mIntegrationDtlsCidLengthTest extends AbstractSecurityLwM2MIntegrationDtlsCidLength16Test { |
||||
|
|
||||
|
@Before |
||||
|
public void createProfileRpc() { |
||||
|
transportConfiguration = getTransportConfiguration(OBSERVE_ATTRIBUTES_WITHOUT_PARAMS, getBootstrapServerCredentialsSecure(PSK, NONE)); |
||||
|
awaitAlias = "await on client state (Psk_Lwm2m) serverDtlsCidLength = 16"; |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
public void testWithPskConnectLwm2mSuccessClientDtlsCidLength_Null() throws Exception { |
||||
|
testPskDtlsCidLength(null); |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
public void testWithPskConnectLwm2mSuccessClientDtlsCidLength_0() throws Exception { |
||||
|
testPskDtlsCidLength(0); |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
public void testWithPskConnectLwm2mSuccessClientDtlsCidLength_1() throws Exception { |
||||
|
testPskDtlsCidLength(1); |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
public void testWithPskConnectLwm2mSuccessClientDtlsCidLength_2() throws Exception { |
||||
|
testPskDtlsCidLength(2); |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
public void testWithPskConnectLwm2mSuccessClientDtlsCidLength_4() throws Exception { |
||||
|
testPskDtlsCidLength(4); |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
public void testWithPskConnectLwm2mSuccessClientDtlsCidLength_16() throws Exception { |
||||
|
testPskDtlsCidLength(16); |
||||
|
} |
||||
|
} |
||||
|
|
||||
@ -0,0 +1,63 @@ |
|||||
|
/** |
||||
|
* Copyright © 2016-2025 The Thingsboard Authors |
||||
|
* |
||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
|
* you may not use this file except in compliance with the License. |
||||
|
* You may obtain a copy of the License at |
||||
|
* |
||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
* |
||||
|
* Unless required by applicable law or agreed to in writing, software |
||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
|
* See the License for the specific language governing permissions and |
||||
|
* limitations under the License. |
||||
|
*/ |
||||
|
package org.thingsboard.server.transport.lwm2m.security.cid.serverDtlsCidLength_4; |
||||
|
|
||||
|
import org.junit.Before; |
||||
|
import org.junit.Test; |
||||
|
import org.thingsboard.server.transport.lwm2m.security.cid.AbstractSecurityLwM2MIntegrationDtlsCidLength4Test; |
||||
|
|
||||
|
import static org.thingsboard.server.common.data.device.credentials.lwm2m.LwM2MSecurityMode.PSK; |
||||
|
import static org.thingsboard.server.transport.lwm2m.Lwm2mTestHelper.LwM2MProfileBootstrapConfigType.NONE; |
||||
|
|
||||
|
public class PskLwm2mIntegrationDtlsCidLengthTest extends AbstractSecurityLwM2MIntegrationDtlsCidLength4Test { |
||||
|
|
||||
|
@Before |
||||
|
public void createProfileRpc() { |
||||
|
transportConfiguration = getTransportConfiguration(OBSERVE_ATTRIBUTES_WITHOUT_PARAMS, getBootstrapServerCredentialsSecure(PSK, NONE)); |
||||
|
awaitAlias = "await on client state (Psk_Lwm2m) serverDtlsCidLength = 4"; |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
public void testWithPskConnectLwm2mSuccessClientDtlsCidLength_Null() throws Exception { |
||||
|
testPskDtlsCidLength(null); |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
public void testWithPskConnectLwm2mSuccessClientDtlsCidLength_0() throws Exception { |
||||
|
testPskDtlsCidLength(0); |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
public void testWithPskConnectLwm2mSuccessClientDtlsCidLength_1() throws Exception { |
||||
|
testPskDtlsCidLength(1); |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
public void testWithPskConnectLwm2mSuccessClientDtlsCidLength_2() throws Exception { |
||||
|
testPskDtlsCidLength(2); |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
public void testWithPskConnectLwm2mSuccessClientDtlsCidLength_4() throws Exception { |
||||
|
testPskDtlsCidLength(4); |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
public void testWithPskConnectLwm2mSuccessClientDtlsCidLength_16() throws Exception { |
||||
|
testPskDtlsCidLength(16); |
||||
|
} |
||||
|
} |
||||
|
|
||||
Loading…
Reference in new issue