2 * Copyright (c) 2017 Pantheon Technologies s.r.o. 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
8 package org.opendaylight.controller.cluster.access.commands;
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;
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;
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);
30 private static final ABIVersion MIN_VERSION = ABIVersion.TEST_PAST_VERSION;
31 private static final ABIVersion MAX_VERSION = ABIVersion.TEST_FUTURE_VERSION;
33 private static final ConnectClientRequest OBJECT = new ConnectClientRequest(
34 CLIENT_IDENTIFIER, 0, ACTOR_REF, MIN_VERSION, MAX_VERSION);
36 public ConnectClientRequestTest() {
41 public void getMinVersionTest() {
42 assertEquals(MIN_VERSION, OBJECT.getMinVersion());
46 public void getMaxVersionTest() {
47 assertEquals(MAX_VERSION, OBJECT.getMaxVersion());
51 public void toRequestFailureTest() {
52 final var exception = new DeadTransactionException(ImmutableRangeSet.of());
53 final var failure = OBJECT.toRequestFailure(exception);
54 assertNotNull(failure);
58 public void cloneAsVersionTest() {
59 final var clone = OBJECT.cloneAsVersion(ABIVersion.TEST_FUTURE_VERSION);
61 assertEquals(ABIVersion.TEST_FUTURE_VERSION, clone.getVersion());
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));
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());