* ================================================================================
* Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.
* Modifications Copyright (C) 2021 Bell Canada. All rights reserved.
+ * Modifications Copyright (C) 2021 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
import static org.mockito.Mockito.when;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
super.setUp();
prov = new PolicyStatusProvider();
+ prov.initialize();
}
@Test
assertThat(status.getState()).isEqualTo(State.FAILURE);
}
+ @Test
+ public void testGetPolicyStatusByRegexNoMatch() throws PfModelException {
+ buildPolicyStatusToReturn1();
+ final String pattern = "Hello";
+
+ final Collection<PolicyStatus> actual = prov.getByRegex(pattern);
+ assertThat(actual).isEmpty();
+ }
+
+ @Test
+ public void testGetPolicyStatusOneMatch() throws PfModelException {
+ buildPolicyStatusToReturn1();
+ final String pattern = "My(We|Po)[li]{0,3}c.A";
+
+ final Collection<PolicyStatus> actual = prov.getByRegex(pattern);
+ assertThat(actual).hasSize(1);
+
+ final String actualName = actual.iterator().next().getPolicy().getName();
+ assertThat(actualName).isEqualTo("MyPolicyA");
+ }
+
+ @Test
+ public void testGetPolicyStatusAllMatch() throws PfModelException {
+ buildPolicyStatusToReturn1();
+ final String pattern = "My(We|Po)[li]{0,3}c.{2}0*";
+
+ final Collection<PolicyStatus> actual = prov.getByRegex(pattern);
+
+ assertThat(actual).hasSize(3);
+ }
+
private void buildPolicyStatusToReturn1() throws PfModelException {
PdpPolicyStatusBuilder builder = PdpPolicyStatus.builder().pdpGroup(MY_GROUP).pdpType(MY_PDP_TYPE)