Refactor BGPTableTypeRegistryProviderActivator
[bgpcep.git] / bgp / rib-impl / src / test / java / org / opendaylight / protocol / bgp / rib / impl / DefaultRibPoliciesMockTest.java
1 /*
2  * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
3  *
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 package org.opendaylight.protocol.bgp.rib.impl;
9
10 import static org.mockito.ArgumentMatchers.any;
11 import static org.mockito.Mockito.doReturn;
12
13 import java.util.Collections;
14 import org.junit.Before;
15 import org.mockito.Mock;
16 import org.opendaylight.mdsal.binding.dom.adapter.AdapterContext;
17 import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractDataBrokerTestCustomizer;
18 import org.opendaylight.protocol.bgp.openconfig.routing.policy.impl.BGPRibRoutingPolicyFactoryImpl;
19 import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.BGPRibRoutingPolicyFactory;
20 import org.opendaylight.protocol.bgp.openconfig.routing.policy.statement.AbstractStatementRegistryConsumerTest;
21 import org.opendaylight.protocol.bgp.openconfig.spi.BGPTableTypeRegistryConsumer;
22 import org.opendaylight.protocol.bgp.rib.spi.policy.BGPRibRoutingPolicy;
23 import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.types.rev151009.IPV4UNICAST;
24 import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.routing.policy.rev151009.DefaultPolicyType;
25 import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.routing.policy.rev151009.apply.policy.group.apply.policy.Config;
26 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4AddressNoZone;
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.rib.TablesKey;
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev200120.BgpId;
29 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev200120.ClusterIdentifier;
30
31 public class DefaultRibPoliciesMockTest extends AbstractStatementRegistryConsumerTest {
32     protected static final long AS = 64496;
33     private final BgpId bgpID = new BgpId(new Ipv4AddressNoZone("127.0.0.1"));
34     private final ClusterIdentifier ci = new ClusterIdentifier(new Ipv4AddressNoZone("127.0.0.1"));
35     protected BGPRibRoutingPolicy policies;
36     protected BGPRibRoutingPolicyFactory policyProvider;
37     protected AdapterContext mappingService;
38     @Mock
39     protected BGPTableTypeRegistryConsumer tableRegistry;
40     @Mock
41     private Config config;
42
43     @Override
44     @Before
45     public void setUp() throws Exception {
46         super.setUp();
47         doReturn(DefaultPolicyType.REJECTROUTE).when(this.config).getDefaultImportPolicy();
48         doReturn(DefaultPolicyType.REJECTROUTE).when(this.config).getDefaultExportPolicy();
49         doReturn(Collections.singletonList("default-odl-import-policy")).when(this.config).getImportPolicy();
50         doReturn(Collections.singletonList("default-odl-export-policy")).when(this.config).getExportPolicy();
51         doReturn(IPV4UNICAST.class).when(this.tableRegistry).getAfiSafiType(any(TablesKey.class));
52
53         this.policyProvider = new BGPRibRoutingPolicyFactoryImpl(getDataBroker(), this.statementRegistry);
54         this.policies = this.policyProvider.buildBGPRibPolicy(AS, this.bgpID, this.ci, this.config);
55     }
56
57     @Override
58     protected AbstractDataBrokerTestCustomizer createDataBrokerTestCustomizer() {
59         final AbstractDataBrokerTestCustomizer customizer = super.createDataBrokerTestCustomizer();
60         this.mappingService = customizer.getAdapterContext();
61         return customizer;
62     }
63 }