blob: 55e56f14e1eba50f9649b2e0186497664284123b [file] [log] [blame]
Jian Li3defa842019-02-12 00:31:35 +09001/*
2 * Copyright 2019-present Open Networking Foundation
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package org.onosproject.k8snode.api;
17
18import com.google.common.testing.EqualsTester;
19import org.junit.Before;
20import org.junit.Test;
21import org.onlab.packet.IpAddress;
22import org.onosproject.k8snode.api.K8sApiConfig.Scheme;
23
24import static junit.framework.TestCase.assertEquals;
25import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable;
26import static org.onosproject.k8snode.api.K8sApiConfig.Scheme.HTTP;
27import static org.onosproject.k8snode.api.K8sApiConfig.Scheme.HTTPS;
28
29/**
30 * Unit tests for DefaultK8sApiConfig.
31 */
32public final class DefaultK8sApiConfigTest {
33
34 private static final Scheme SCHEME_1 = HTTP;
35 private static final Scheme SCHEME_2 = HTTPS;
36
37 private static final IpAddress IP_ADDRESS_1 = IpAddress.valueOf("192.168.0.200");
38 private static final IpAddress IP_ADDRESS_2 = IpAddress.valueOf("192.168.0.201");
39
40 private static final int PORT_1 = 6443;
41 private static final int PORT_2 = 443;
42
43 private static final String TOKEN_1 = "token1";
44 private static final String TOKEN_2 = "token2";
45
46 private static final String CA_CERT_DATA_1 = "caCertData1";
47 private static final String CA_CERT_DATA_2 = "caCertData2";
48
49 private static final String CLIENT_CERT_DATA_1 = "clientCertData1";
50 private static final String CLIENT_CERT_DATA_2 = "clientCertData2";
51
52 private static final String CLIENT_KEY_DATA_1 = "clientKeyData1";
53 private static final String CLIENT_KEY_DATA_2 = "clientKeyData2";
54
55 private K8sApiConfig config1;
56 private K8sApiConfig sameAsConfig1;
57 private K8sApiConfig config2;
58
59 /**
60 * Tests class immutability.
61 */
62 @Test
63 public void testImmutability() {
64 assertThatClassIsImmutable(DefaultK8sApiConfig.class);
65 }
66
67 /**
68 * Initial setup for this unit test.
69 */
70 @Before
71 public void setUp() {
72 config1 = DefaultK8sApiConfig.builder()
73 .scheme(SCHEME_1)
74 .ipAddress(IP_ADDRESS_1)
75 .port(PORT_1)
76 .token(TOKEN_1)
77 .caCertData(CA_CERT_DATA_1)
78 .clientCertData(CLIENT_CERT_DATA_1)
79 .clientKeyData(CLIENT_KEY_DATA_1)
80 .build();
81
82 sameAsConfig1 = DefaultK8sApiConfig.builder()
83 .scheme(SCHEME_1)
84 .ipAddress(IP_ADDRESS_1)
85 .port(PORT_1)
86 .token(TOKEN_1)
87 .caCertData(CA_CERT_DATA_1)
88 .clientCertData(CLIENT_CERT_DATA_1)
89 .clientKeyData(CLIENT_KEY_DATA_1)
90 .build();
91
92 config2 = DefaultK8sApiConfig.builder()
93 .scheme(SCHEME_2)
94 .ipAddress(IP_ADDRESS_2)
95 .port(PORT_2)
96 .token(TOKEN_2)
97 .caCertData(CA_CERT_DATA_2)
98 .clientCertData(CLIENT_CERT_DATA_2)
99 .clientKeyData(CLIENT_KEY_DATA_2)
100 .build();
101 }
102
103 /**
104 * Tests object equality.
105 */
106 @Test
107 public void testEquality() {
108 new EqualsTester().addEqualityGroup(config1, sameAsConfig1)
109 .addEqualityGroup(config2)
110 .testEquals();
111 }
112
113 /**
114 * Test object construction.
115 */
116 @Test
117 public void testConstruction() {
118 K8sApiConfig config = config1;
119
120 assertEquals(SCHEME_1, config.scheme());
121 assertEquals(IP_ADDRESS_1, config.ipAddress());
122 assertEquals(PORT_1, config.port());
123 assertEquals(TOKEN_1, config.token());
124 assertEquals(CA_CERT_DATA_1, config.caCertData());
125 assertEquals(CLIENT_CERT_DATA_1, config.clientCertData());
126 assertEquals(CLIENT_KEY_DATA_1, config.clientKeyData());
127 }
128}