committed by
GitHub
3 changed files with 136 additions and 33 deletions
@ -0,0 +1,82 @@ |
|||||
|
/** |
||||
|
* Copyright © 2016-2024 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.http; |
||||
|
|
||||
|
import com.google.gson.JsonParseException; |
||||
|
import org.junit.jupiter.api.Test; |
||||
|
import org.mockito.Mockito; |
||||
|
import org.springframework.http.ResponseEntity; |
||||
|
import org.springframework.http.converter.HttpMessageNotReadableException; |
||||
|
import org.springframework.web.context.request.async.DeferredResult; |
||||
|
import org.thingsboard.server.common.transport.TransportContext; |
||||
|
import org.thingsboard.server.gen.transport.TransportProtos; |
||||
|
|
||||
|
import java.io.IOException; |
||||
|
import java.util.function.Consumer; |
||||
|
|
||||
|
class DeviceApiControllerTest { |
||||
|
|
||||
|
@Test |
||||
|
void deviceAuthCallbackTest() { |
||||
|
TransportContext transportContext = Mockito.mock(TransportContext.class); |
||||
|
DeferredResult<ResponseEntity> responseWriter = Mockito.mock(DeferredResult.class); |
||||
|
Consumer<TransportProtos.SessionInfoProto> onSuccess = x -> { |
||||
|
}; |
||||
|
var callback = new DeviceApiController.DeviceAuthCallback(transportContext, responseWriter, onSuccess); |
||||
|
|
||||
|
callback.onError(new HttpMessageNotReadableException("JSON incorrect syntax")); |
||||
|
|
||||
|
callback.onError(new JsonParseException("Json ; expected")); |
||||
|
|
||||
|
callback.onError(new IOException("not found")); |
||||
|
|
||||
|
callback.onError(new RuntimeException("oops it is run time error")); |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
void deviceProvisionCallbackTest() { |
||||
|
DeferredResult<ResponseEntity> responseWriter = Mockito.mock(DeferredResult.class); |
||||
|
var callback = new DeviceApiController.DeviceProvisionCallback(responseWriter); |
||||
|
|
||||
|
callback.onError(new HttpMessageNotReadableException("JSON incorrect syntax")); |
||||
|
|
||||
|
callback.onError(new JsonParseException("Json ; expected")); |
||||
|
|
||||
|
callback.onError(new IOException("not found")); |
||||
|
|
||||
|
callback.onError(new RuntimeException("oops it is run time error")); |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
void getOtaPackageCallback() { |
||||
|
TransportContext transportContext = Mockito.mock(TransportContext.class); |
||||
|
DeferredResult<ResponseEntity> responseWriter = Mockito.mock(DeferredResult.class); |
||||
|
String title = "Title"; |
||||
|
String version = "version"; |
||||
|
int chunkSize = 11; |
||||
|
int chunk = 3; |
||||
|
|
||||
|
var callback = new DeviceApiController.GetOtaPackageCallback(transportContext, responseWriter, title, version, chunkSize, chunk); |
||||
|
|
||||
|
callback.onError(new HttpMessageNotReadableException("JSON incorrect syntax")); |
||||
|
|
||||
|
callback.onError(new JsonParseException("Json ; expected")); |
||||
|
|
||||
|
callback.onError(new IOException("not found")); |
||||
|
|
||||
|
callback.onError(new RuntimeException("oops it is run time error")); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,16 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8" ?> |
||||
|
|
||||
|
<configuration> |
||||
|
<appender name="console" class="ch.qos.logback.core.ConsoleAppender"> |
||||
|
<encoder> |
||||
|
<pattern>%d{ISO8601} [%thread] %-5level %logger{36} - %msg%n</pattern> |
||||
|
</encoder> |
||||
|
</appender> |
||||
|
|
||||
|
logger name="org.thingsboard.server.transport.http.DeviceApiController" level="DEBUG" /> |
||||
|
|
||||
|
<root level="INFO"> |
||||
|
<appender-ref ref="console"/> |
||||
|
</root> |
||||
|
|
||||
|
</configuration> |
||||
Loading…
Reference in new issue