+ static class A1ClientMock implements A1Client {
+ private final Policies policies;
+ private final PolicyTypes policyTypes;
+
+ A1ClientMock(Policies policies, PolicyTypes policyTypes) {
+ this.policies = policies;
+ this.policyTypes = policyTypes;
+ }
+
+ @Override
+ public Flux<String> getPolicyTypeIdentities(String nearRtRicUrl) {
+ Vector<String> result = new Vector<>();
+ for (PolicyType p : this.policyTypes.getAll()) {
+ result.add(p.name());
+ }
+ return Flux.fromIterable(result);
+ }
+
+ @Override
+ public Flux<String> getPolicyIdentities(String nearRtRicUrl) {
+ Vector<String> result = new Vector<>();
+ for (Policy p : this.policies.getAll()) {
+ result.add(p.id());
+ }
+ return Flux.fromIterable(result);
+ }
+
+ @Override
+ public Mono<String> getPolicyType(String nearRtRicUrl, String policyTypeId) {
+ try {
+ return Mono.just(this.policyTypes.getType(policyTypeId).toString());
+ } catch (Exception e) {
+ return Mono.error(e);
+ }
+ }
+
+ @Override
+ public Mono<String> putPolicy(String nearRtRicUrl, String policyId, String policyString) {
+ return Mono.just("OK");
+ }
+
+ @Override
+ public Mono<Void> deletePolicy(String nearRtRicUrl, String policyId) {
+ return Mono.error(new Exception("TODO We cannot use Void like this")); // TODO We cannot use Void like this
+ }
+
+ }
+