Improve segmented journal actor metrics
[controller.git] / opendaylight / md-sal / cds-access-api / src / test / java / org / opendaylight / controller / cluster / access / commands / ConnectClientRequestTest.java
1 /*
2  * Copyright (c) 2017 Pantheon Technologies s.r.o. 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 package org.opendaylight.controller.cluster.access.commands;
9
10 import static org.hamcrest.CoreMatchers.containsString;
11 import static org.hamcrest.MatcherAssert.assertThat;
12 import static org.junit.Assert.assertEquals;
13 import static org.junit.Assert.assertNotNull;
14
15 import com.google.common.base.MoreObjects;
16 import com.google.common.collect.ImmutableRangeSet;
17 import org.junit.Test;
18 import org.opendaylight.controller.cluster.access.ABIVersion;
19 import org.opendaylight.controller.cluster.access.concepts.AbstractRequestTest;
20 import org.opendaylight.controller.cluster.access.concepts.ClientIdentifier;
21 import org.opendaylight.controller.cluster.access.concepts.FrontendIdentifier;
22 import org.opendaylight.controller.cluster.access.concepts.FrontendType;
23 import org.opendaylight.controller.cluster.access.concepts.MemberName;
24
25 public class ConnectClientRequestTest extends AbstractRequestTest<ConnectClientRequest> {
26     private static final FrontendIdentifier FRONTEND_IDENTIFIER = FrontendIdentifier.create(
27             MemberName.forName("member"), FrontendType.forName("frontend"));
28     private static final ClientIdentifier CLIENT_IDENTIFIER = ClientIdentifier.create(FRONTEND_IDENTIFIER, 0);
29
30     private static final ABIVersion MIN_VERSION = ABIVersion.TEST_PAST_VERSION;
31     private static final ABIVersion MAX_VERSION = ABIVersion.TEST_FUTURE_VERSION;
32
33     private static final ConnectClientRequest OBJECT = new ConnectClientRequest(
34             CLIENT_IDENTIFIER, 0, ACTOR_REF, MIN_VERSION, MAX_VERSION);
35
36     public ConnectClientRequestTest() {
37         super(OBJECT, 112);
38     }
39
40     @Test
41     public void getMinVersionTest() {
42         assertEquals(MIN_VERSION, OBJECT.getMinVersion());
43     }
44
45     @Test
46     public void getMaxVersionTest() {
47         assertEquals(MAX_VERSION, OBJECT.getMaxVersion());
48     }
49
50     @Test
51     public void toRequestFailureTest() {
52         final var exception = new DeadTransactionException(ImmutableRangeSet.of());
53         final var failure = OBJECT.toRequestFailure(exception);
54         assertNotNull(failure);
55     }
56
57     @Test
58     public void cloneAsVersionTest() {
59         final var clone = OBJECT.cloneAsVersion(ABIVersion.TEST_FUTURE_VERSION);
60         assertNotNull(clone);
61         assertEquals(ABIVersion.TEST_FUTURE_VERSION, clone.getVersion());
62     }
63
64     @Test
65     public void addToStringAttributesTest() {
66         final var result = OBJECT.addToStringAttributes(MoreObjects.toStringHelper(OBJECT)).toString();
67         assertThat(result, containsString("minVersion=" + MIN_VERSION));
68         assertThat(result, containsString("maxVersion=" + MAX_VERSION));
69     }
70
71     @Override
72     protected void doAdditionalAssertions(final ConnectClientRequest deserialize) {
73         assertEquals(OBJECT.getMaxVersion(), deserialize.getMaxVersion());
74         assertEquals(OBJECT.getMinVersion(), deserialize.getMinVersion());
75         assertEquals(OBJECT.getReplyTo(), deserialize.getReplyTo());
76     }
77 }