package org.oransc.policyagent.utils;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.List;
import java.util.Vector;
import org.oransc.policyagent.clients.A1Client;
import org.oransc.policyagent.repository.Policy;
import org.oransc.policyagent.repository.PolicyType;
import org.oransc.policyagent.repository.PolicyTypes;
+
+import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
public class MockA1Client implements A1Client {
- private final Map<String, Policies> policies = new HashMap<>();
+ Policies policies = new Policies();
private final PolicyTypes policyTypes;
public MockA1Client(PolicyTypes policyTypes) {
}
@Override
- public Mono<Collection<String>> getPolicyTypeIdentities(String nearRtRicUrl) {
+ public Mono<List<String>> getPolicyTypeIdentities() {
synchronized (this.policyTypes) {
- Vector<String> result = new Vector<>();
+ List<String> result = new Vector<>();
for (PolicyType p : this.policyTypes.getAll()) {
result.add(p.name());
}
}
@Override
- public Mono<Collection<String>> getPolicyIdentities(String nearRtRicUrl) {
+ public Mono<List<String>> getPolicyIdentities() {
synchronized (this.policies) {
Vector<String> result = new Vector<>();
- for (Policy policy : getPolicies(nearRtRicUrl).getAll()) {
- if (policy.ric().getConfig().baseUrl().equals(nearRtRicUrl)) {
- result.add(policy.id());
- }
+ for (Policy policy : policies.getAll()) {
+ result.add(policy.id());
}
return Mono.just(result);
}
@Override
- public Mono<String> getPolicyType(String nearRtRicUrl, String policyTypeId) {
+ public Mono<String> getPolicyTypeSchema(String policyTypeId) {
try {
return Mono.just(this.policyTypes.getType(policyTypeId).schema());
} catch (Exception e) {
@Override
public Mono<String> putPolicy(Policy p) {
- getPolicies(p.ric().getConfig().baseUrl()).put(p);
+ this.policies.put(p);
return Mono.just("OK");
}
@Override
- public Mono<String> deletePolicy(String nearRtRicUrl, String policyId) {
- getPolicies(nearRtRicUrl).removeId(policyId);
+ public Mono<String> deletePolicy(Policy policy) {
+ this.policies.remove(policy);
return Mono.just("OK");
}
- private Policies getPolicies(String url) {
- if (!policies.containsKey(url)) {
- policies.put(url, new Policies());
- }
- return policies.get(url);
+ public Policies getPolicies() {
+ return this.policies;
+ }
+
+ @Override
+ public Mono<A1ProtocolType> getProtocolVersion() {
+ return Mono.just(A1ProtocolType.STD_V1);
+ }
+
+ @Override
+ public Flux<String> deleteAllPolicies() {
+ this.policies.clear();
+ return Flux.empty();
}
}