Fixup checkstyle
[controller.git] / opendaylight / md-sal / cds-access-api / src / test / java / org / opendaylight / controller / cluster / access / commands / ModifyTransactionRequestBuilderTest.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.junit.Assert.assertEquals;
11 import static org.junit.Assert.assertTrue;
12
13 import akka.actor.ActorRef;
14 import akka.actor.ActorSystem;
15 import akka.actor.Props;
16 import akka.testkit.TestActors;
17 import org.junit.Before;
18 import org.junit.Test;
19 import org.opendaylight.controller.cluster.access.concepts.ClientIdentifier;
20 import org.opendaylight.controller.cluster.access.concepts.FrontendIdentifier;
21 import org.opendaylight.controller.cluster.access.concepts.FrontendType;
22 import org.opendaylight.controller.cluster.access.concepts.LocalHistoryIdentifier;
23 import org.opendaylight.controller.cluster.access.concepts.MemberName;
24 import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier;
25 import org.opendaylight.yangtools.yang.common.QName;
26 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
27 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
28 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
29 import org.opendaylight.yangtools.yang.data.spi.node.ImmutableNodes;
30
31 public class ModifyTransactionRequestBuilderTest {
32     private final MemberName memberName = MemberName.forName("member-1");
33     private final FrontendType frontendType = FrontendType.forName("test");
34     private final FrontendIdentifier frontendId = FrontendIdentifier.create(memberName, frontendType);
35     private final ClientIdentifier clientId = ClientIdentifier.create(frontendId, 0);
36     private final TransactionIdentifier transactionIdentifier =
37             new TransactionIdentifier(new LocalHistoryIdentifier(clientId, 0L), 0L);
38     private final ActorRef actorRef = ActorSystem.create("test").actorOf(Props.create(TestActors.EchoActor.class));
39     private final NormalizedNode node = ImmutableNodes.newContainerBuilder()
40         .withNodeIdentifier(new NodeIdentifier(QName.create("namespace", "localName")))
41         .build();
42     private final TransactionModification transactionModification =
43             new TransactionWrite(YangInstanceIdentifier.of(), node);
44     private final ModifyTransactionRequestBuilder modifyTransactionRequestBuilder =
45             new ModifyTransactionRequestBuilder(transactionIdentifier, actorRef);
46
47     @Before
48     public void setUp() {
49         modifyTransactionRequestBuilder.setSequence(0L);
50         modifyTransactionRequestBuilder.addModification(transactionModification);
51         assertEquals(1, modifyTransactionRequestBuilder.size());
52     }
53
54     @Test
55     public void testGetIdentifier() {
56         final var identifier = modifyTransactionRequestBuilder.getIdentifier();
57         assertEquals(transactionIdentifier, identifier);
58     }
59
60     @Test
61     public void testBuildReady() {
62         modifyTransactionRequestBuilder.setReady();
63         final var modifyTransactionRequest = modifyTransactionRequestBuilder.build();
64         assertEquals(PersistenceProtocol.READY, modifyTransactionRequest.getPersistenceProtocol().orElseThrow());
65         assertEquals(transactionModification, modifyTransactionRequest.getModifications().get(0));
66     }
67
68     @Test
69     public void testBuildAbort() {
70         modifyTransactionRequestBuilder.setAbort();
71         final var modifyTransactionRequest = modifyTransactionRequestBuilder.build();
72         assertEquals(PersistenceProtocol.ABORT, modifyTransactionRequest.getPersistenceProtocol().orElseThrow());
73         assertTrue(modifyTransactionRequest.getModifications().isEmpty());
74     }
75
76     @Test
77     public void testBuildCommitTrue() {
78         modifyTransactionRequestBuilder.setCommit(true);
79         final var modifyTransactionRequest = modifyTransactionRequestBuilder.build();
80         assertEquals(PersistenceProtocol.THREE_PHASE, modifyTransactionRequest.getPersistenceProtocol().orElseThrow());
81     }
82
83     @Test
84     public void testBuildCommitFalse() {
85         modifyTransactionRequestBuilder.setCommit(false);
86         final var modifyTransactionRequest = modifyTransactionRequestBuilder.build();
87         assertEquals(PersistenceProtocol.SIMPLE, modifyTransactionRequest.getPersistenceProtocol().orElseThrow());
88     }
89 }