f46b5d60931f2a87909d21eb07b6dbf3e483e562
[ovsdb.git] / library / it / src / test / java / org / opendaylight / ovsdb / lib / it / LibraryIntegrationTestBase.java
1 /*
2  * Copyright © 2015 Red Hat, Inc. and others. 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
9 package org.opendaylight.ovsdb.lib.it;
10
11 import static org.ops4j.pax.exam.CoreOptions.composite;
12 import static org.ops4j.pax.exam.CoreOptions.maven;
13 import static org.ops4j.pax.exam.CoreOptions.propagateSystemProperties;
14 import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.editConfigurationFilePut;
15
16 import org.opendaylight.controller.mdsal.it.base.AbstractMdsalTestBase;
17 import org.ops4j.pax.exam.Configuration;
18 import org.ops4j.pax.exam.Option;
19 import org.ops4j.pax.exam.karaf.options.LogLevelOption;
20 import org.ops4j.pax.exam.options.MavenUrlReference;
21
22 /**
23  * Base class for library IT.
24  */
25 public abstract class LibraryIntegrationTestBase extends AbstractMdsalTestBase {
26     @Override
27     public String getModuleName() {
28         return "library";
29     }
30
31     @Override
32     public String getInstanceName() {
33         return "library-default";
34     }
35
36     @Override
37     public MavenUrlReference getFeatureRepo() {
38         return maven()
39                 .groupId("org.opendaylight.ovsdb")
40                 .artifactId("library-features")
41                 .classifier("features")
42                 .type("xml")
43                 .versionAsInProject();
44     }
45
46     @Override
47     public String getFeatureName() {
48         return "odl-ovsdb-library";
49     }
50
51     @Configuration
52     @Override
53     public Option[] config() {
54         Option[] parentOptions = super.config();
55         Option[] propertiesOptions = getPropertiesOptions();
56         Option[] options = new Option[parentOptions.length + propertiesOptions.length];
57         System.arraycopy(parentOptions, 0, options, 0, parentOptions.length);
58         System.arraycopy(propertiesOptions, 0, options, parentOptions.length, propertiesOptions.length);
59         return options;
60     }
61
62     public Option[] getPropertiesOptions() {
63         return new Option[] {
64                 propagateSystemProperties(
65                         LibraryIntegrationTestUtils.SERVER_IPADDRESS,
66                         LibraryIntegrationTestUtils.SERVER_PORT,
67                         LibraryIntegrationTestUtils.CONNECTION_TYPE),
68         };
69     }
70
71     @Override
72     public Option getLoggingOption() {
73         Option option = editConfigurationFilePut(ORG_OPS4J_PAX_LOGGING_CFG,
74                 logConfiguration(getClass()),
75                 LogLevelOption.LogLevel.INFO.name());
76         option = composite(option, super.getLoggingOption());
77         return option;
78     }
79 }