2 * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
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
9 package org.opendaylight.groupbasedpolicy.resolver.validator;
11 import static org.mockito.Mockito.mock;
12 import static org.mockito.Mockito.when;
14 import org.junit.Assert;
15 import org.junit.Before;
16 import org.junit.Test;
17 import org.opendaylight.groupbasedpolicy.resolver.PolicyResolver;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.Tenant;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.SubjectFeatureInstances;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.subject.feature.instances.ActionInstance;
21 import org.opendaylight.yangtools.yang.binding.DataContainer;
23 public class PolicyValidatorTest {
25 DataContainer dataContainer;
26 PolicyResolver policyResolver;
29 public void initialise() {
30 dataContainer = mock(DataContainer.class);
31 policyResolver = mock(PolicyResolver.class);
35 @SuppressWarnings({"rawtypes", "unchecked"})
37 public void createValidatorTest() {
39 validator = PolicyValidator.createValidator(dataContainer, policyResolver);
40 Assert.assertNull(validator);
42 when(dataContainer.getImplementedInterface()).thenReturn((Class) Tenant.class);
43 validator = PolicyValidator.createValidator(dataContainer, policyResolver);
44 Assert.assertNotNull(validator);
45 Assert.assertEquals(policyResolver, ((AbstractValidator) validator).getPolicyResolver());
47 when(dataContainer.getImplementedInterface()).thenReturn((Class) SubjectFeatureInstances.class);
48 validator = PolicyValidator.createValidator(dataContainer, policyResolver);
49 Assert.assertNotNull(validator);
50 Assert.assertEquals(policyResolver, ((AbstractValidator) validator).getPolicyResolver());
52 when(dataContainer.getImplementedInterface()).thenReturn((Class) ActionInstance.class);
53 validator = PolicyValidator.createValidator(dataContainer, policyResolver);
54 Assert.assertNotNull(validator);
55 Assert.assertEquals(policyResolver, ((AbstractValidator) validator).getPolicyResolver());
58 @SuppressWarnings({"unchecked", "rawtypes"})
60 public void validateTest() {
61 Tenant tenant = mock(Tenant.class);
62 when(tenant.getImplementedInterface()).thenReturn((Class) Tenant.class);
63 SubjectFeatureInstances subjectFeatureInstances = mock(SubjectFeatureInstances.class);
64 when(tenant.getSubjectFeatureInstances()).thenReturn(subjectFeatureInstances);
65 PolicyValidator.validate(tenant, policyResolver);
67 when(subjectFeatureInstances.getImplementedInterface()).thenReturn((Class) SubjectFeatureInstances.class);
68 PolicyValidator.validate(subjectFeatureInstances, policyResolver);
70 ActionInstance actionInstance = mock(ActionInstance.class);
71 when(actionInstance.getImplementedInterface()).thenReturn((Class) ActionInstance.class);
72 PolicyValidator.validate(actionInstance, policyResolver);