Skip to content
Snippets Groups Projects
Commit 3f28c5a9 authored by OZGCloud's avatar OZGCloud
Browse files

OZG-5167: bind grpc call

parent fafd2813
No related branches found
No related tags found
No related merge requests found
...@@ -8,6 +8,7 @@ import org.springframework.stereotype.Service; ...@@ -8,6 +8,7 @@ import org.springframework.stereotype.Service;
import de.ozgcloud.alfa.common.GrpcUtil; import de.ozgcloud.alfa.common.GrpcUtil;
import de.ozgcloud.bescheid.BescheidServiceGrpc.BescheidServiceBlockingStub; import de.ozgcloud.bescheid.BescheidServiceGrpc.BescheidServiceBlockingStub;
import de.ozgcloud.bescheid.GrpcBescheid; import de.ozgcloud.bescheid.GrpcBescheid;
import de.ozgcloud.bescheid.GrpcBescheidManagerConfigRequest;
import de.ozgcloud.bescheid.GrpcGetBescheidDraftRequest; import de.ozgcloud.bescheid.GrpcGetBescheidDraftRequest;
import de.ozgcloud.bescheid.GrpcGetBescheidDraftResponse; import de.ozgcloud.bescheid.GrpcGetBescheidDraftResponse;
import net.devh.boot.grpc.client.inject.GrpcClient; import net.devh.boot.grpc.client.inject.GrpcClient;
...@@ -37,7 +38,7 @@ class BescheidRemoteService { ...@@ -37,7 +38,7 @@ class BescheidRemoteService {
} }
public boolean canCreateBescheidDocument() { public boolean canCreateBescheidDocument() {
// TODO: waiting for OZG-5585 var response = bescheidServiceStub.getConfig(GrpcBescheidManagerConfigRequest.newBuilder().build());
return true; return response.hasFeatures() && response.getFeatures().getCanCreateBescheidDocument();
} }
} }
\ No newline at end of file
...@@ -14,6 +14,8 @@ import org.mockito.Spy; ...@@ -14,6 +14,8 @@ import org.mockito.Spy;
import de.ozgcloud.alfa.vorgang.VorgangHeaderTestFactory; import de.ozgcloud.alfa.vorgang.VorgangHeaderTestFactory;
import de.ozgcloud.bescheid.BescheidServiceGrpc.BescheidServiceBlockingStub; import de.ozgcloud.bescheid.BescheidServiceGrpc.BescheidServiceBlockingStub;
import de.ozgcloud.bescheid.GrpcBescheidManagerConfigRequest;
import de.ozgcloud.bescheid.GrpcBescheidManagerConfigResponse;
import de.ozgcloud.bescheid.GrpcGetBescheidDraftRequest; import de.ozgcloud.bescheid.GrpcGetBescheidDraftRequest;
import de.ozgcloud.bescheid.GrpcGetBescheidDraftResponse; import de.ozgcloud.bescheid.GrpcGetBescheidDraftResponse;
...@@ -122,12 +124,50 @@ class BescheidRemoteServiceTest { ...@@ -122,12 +124,50 @@ class BescheidRemoteServiceTest {
@Nested @Nested
class TestCanCreateBescheidDocument { class TestCanCreateBescheidDocument {
private final GrpcBescheidManagerConfigRequest request = GrpcBescheidManagerConfigRequestTestFactory.create();
private final GrpcBescheidManagerConfigResponse respone = GrpcBescheidManagerConfigResponseTestFactory.create();
@BeforeEach
void setUp() {
when(bescheidServiceStub.getConfig(request)).thenReturn(respone);
}
@Test
void shouldCallRemoteService() {
service.canCreateBescheidDocument();
verify(bescheidServiceStub).getConfig(request);
}
@Test @Test
void shouldReturnTrue() { void shouldReturnTrue() {
var canCreate = service.canCreateBescheidDocument(); var canCreate = service.canCreateBescheidDocument();
assertThat(canCreate).isTrue(); assertThat(canCreate).isTrue();
} }
@Test
void shouldReturnFalseIfNoFeaturesAvailable() {
when(bescheidServiceStub.getConfig(request)).thenReturn(GrpcBescheidManagerConfigResponseTestFactory.empty());
var canCreate = service.canCreateBescheidDocument();
assertThat(canCreate).isFalse();
}
@Test
void shouldReturnFalseIfFeatureDisabled() {
var respones = GrpcBescheidManagerConfigResponseTestFactory.createBuilder()
.setFeatures(GrpcBescheidManagerFeaturesTestFactory.createBuilder()
.setCanCreateBescheidDocument(false)
.build())
.build();
when(bescheidServiceStub.getConfig(request)).thenReturn(respones);
var canCreate = service.canCreateBescheidDocument();
assertThat(canCreate).isFalse();
}
} }
} }
\ No newline at end of file
package de.ozgcloud.alfa.bescheid;
import de.ozgcloud.bescheid.GrpcBescheidManagerConfigRequest;
public class GrpcBescheidManagerConfigRequestTestFactory {
public static GrpcBescheidManagerConfigRequest create() {
return createBuilder().build();
}
public static GrpcBescheidManagerConfigRequest.Builder createBuilder() {
return GrpcBescheidManagerConfigRequest.newBuilder();
}
}
package de.ozgcloud.alfa.bescheid;
import de.ozgcloud.bescheid.GrpcBescheidManagerConfigResponse;
public class GrpcBescheidManagerConfigResponseTestFactory {
public static GrpcBescheidManagerConfigResponse empty() {
return GrpcBescheidManagerConfigResponse.newBuilder().build();
}
public static GrpcBescheidManagerConfigResponse create() {
return createBuilder().build();
}
public static GrpcBescheidManagerConfigResponse.Builder createBuilder() {
return GrpcBescheidManagerConfigResponse.newBuilder().setFeatures(GrpcBescheidManagerFeaturesTestFactory.create());
}
}
package de.ozgcloud.alfa.bescheid;
import de.ozgcloud.bescheid.GrpcBescheidManagerFeatures;
public class GrpcBescheidManagerFeaturesTestFactory {
public static final boolean CAN_CREATE_BESCHEID = true;
public static GrpcBescheidManagerFeatures create() {
return createBuilder().build();
}
public static GrpcBescheidManagerFeatures.Builder createBuilder() {
return GrpcBescheidManagerFeatures.newBuilder().setCanCreateBescheidDocument(CAN_CREATE_BESCHEID);
}
}
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<vorgang-manager.version>2.6.0</vorgang-manager.version> <vorgang-manager.version>2.7.0-SNAPSHOT</vorgang-manager.version>
<ozgcloud-common-pdf.version>3.0.1</ozgcloud-common-pdf.version> <ozgcloud-common-pdf.version>3.0.1</ozgcloud-common-pdf.version>
<user-manager.version>2.2.0</user-manager.version> <user-manager.version>2.2.0</user-manager.version>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment