Merge "Rework IOVisor model and validate IovisorModuleInstance on Endpoint created...
[groupbasedpolicy.git] / groupbasedpolicy / src / test / java / org / opendaylight / groupbasedpolicy / resolver / validator / validators / ActionInstanceValidatorTest.java
1 /*
2  * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
3  *s
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.groupbasedpolicy.resolver.validator.validators;
10
11 import static org.mockito.Matchers.any;
12 import static org.mockito.Mockito.mock;
13 import static org.mockito.Mockito.when;
14
15 import org.junit.Assert;
16 import org.junit.Before;
17 import org.junit.Test;
18 import org.opendaylight.groupbasedpolicy.resolver.PolicyResolver;
19 import org.opendaylight.groupbasedpolicy.resolver.validator.SimpleResult;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ActionDefinitionId;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.subject.feature.instances.ActionInstance;
22
23 public class ActionInstanceValidatorTest {
24
25     private ActionInstanceValidator validator;
26     private PolicyResolver policyResolver;
27     private org.opendaylight.groupbasedpolicy.resolver.ActionInstanceValidator action;
28
29     @Before
30     public void initialise() {
31         validator = new ActionInstanceValidator();
32         policyResolver = mock(PolicyResolver.class);
33         action = mock(org.opendaylight.groupbasedpolicy.resolver.ActionInstanceValidator.class);
34         when(policyResolver.getActionInstanceValidator(any(ActionDefinitionId.class))).thenReturn(action);
35         validator.setPolicyResolver(policyResolver);
36     }
37
38     @Test
39     public void validateSelfTestValidFalse() {
40         ActionInstance objectToValidate = mock(ActionInstance.class);
41         when(action.isValid(objectToValidate)).thenReturn(false);
42
43         SimpleResult simpleResult = validator.validateSelf(objectToValidate);
44         Assert.assertNotNull(simpleResult);
45         Assert.assertTrue(simpleResult.isFailure());
46         Assert.assertTrue(simpleResult.getDescription().contains("ActionInstance"));
47     }
48
49     @Test
50     public void validateSelfTestValidTrue() {
51         ActionInstance objectToValidate = mock(ActionInstance.class);
52         when(action.isValid(objectToValidate)).thenReturn(true);
53
54         SimpleResult simpleResult = validator.validateSelf(objectToValidate);
55         Assert.assertNotNull(simpleResult);
56         Assert.assertTrue(simpleResult.isSuccess());
57         Assert.assertTrue(simpleResult.getDescription().contains("ActionInstance"));
58     }
59
60     @Test
61     public void validateSelfTestValidActionNull() {
62         ActionInstance objectToValidate = mock(ActionInstance.class);
63         when(policyResolver.getActionInstanceValidator(any(ActionDefinitionId.class))).thenReturn(null);
64
65         SimpleResult simpleResult = validator.validateSelf(objectToValidate);
66         Assert.assertNotNull(simpleResult);
67         Assert.assertTrue(simpleResult.isFailure());
68     }
69
70     @Test
71     public void getTypeTest() {
72         Assert.assertEquals(ActionInstance.class, validator.getType());
73     }
74 }