From f48e477a28cb32ccfc006d292caa2ea46114ef9b Mon Sep 17 00:00:00 2001 From: IanHowell Date: Thu, 19 Jul 2018 16:20:00 -0500 Subject: [PATCH] Fix up several JUnits which were using real HTTP Issue-ID: AAF-401 Change-Id: I4a9555222a6b3e822240ca95410a7a356d9ed521 Signed-off-by: IanHowell --- .../org/onap/aaf/auth/cmd/test/HMangrStub.java | 54 ++++++++++ .../org/onap/aaf/auth/cmd/test/perm/JU_Create.java | 91 +++++++++-------- .../org/onap/aaf/auth/cmd/test/perm/JU_Delete.java | 84 +++++++++------- .../onap/aaf/auth/cmd/test/perm/JU_Describe.java | 92 +++++++++-------- .../org/onap/aaf/auth/cmd/test/perm/JU_Grant.java | 111 +++++++++++++-------- 5 files changed, 273 insertions(+), 159 deletions(-) create mode 100644 auth/auth-cmd/src/test/java/org/onap/aaf/auth/cmd/test/HMangrStub.java diff --git a/auth/auth-cmd/src/test/java/org/onap/aaf/auth/cmd/test/HMangrStub.java b/auth/auth-cmd/src/test/java/org/onap/aaf/auth/cmd/test/HMangrStub.java new file mode 100644 index 00000000..7ceb1233 --- /dev/null +++ b/auth/auth-cmd/src/test/java/org/onap/aaf/auth/cmd/test/HMangrStub.java @@ -0,0 +1,54 @@ +/******************************************************************************* + * ============LICENSE_START==================================================== + * * org.onap.aaf + * * =========================================================================== + * * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * * =========================================================================== + * * Licensed under the Apache License, Version 2.0 (the "License"); + * * you may not use this file except in compliance with the License. + * * You may obtain a copy of the License at + * * + * * http://www.apache.org/licenses/LICENSE-2.0 + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, + * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * * See the License for the specific language governing permissions and + * * limitations under the License. + * * ============LICENSE_END==================================================== + * * + * * + ******************************************************************************/ +package org.onap.aaf.auth.cmd.test; + +import java.net.HttpURLConnection; +import java.net.URI; + +import org.onap.aaf.cadi.Access; +import org.onap.aaf.cadi.Locator; +import org.onap.aaf.cadi.LocatorException; +import org.onap.aaf.cadi.SecuritySetter; +import org.onap.aaf.cadi.client.Rcli; +import org.onap.aaf.cadi.client.Retryable; +import org.onap.aaf.cadi.http.HMangr; + +public class HMangrStub extends HMangr { + + private Rcli clientMock; + + public HMangrStub(Access access, Locator loc, Rcli clientMock) throws LocatorException { + super(access, loc); + this.clientMock = clientMock; + } + + @Override public RET same(SecuritySetter ss, Retryable retryable) { + try { + return retryable.code(clientMock); + } catch (Exception e) { + } + return null; + } + @Override public RET oneOf(SecuritySetter ss, Retryable retryable, boolean notify, String host) { + return null; + } +} diff --git a/auth/auth-cmd/src/test/java/org/onap/aaf/auth/cmd/test/perm/JU_Create.java b/auth/auth-cmd/src/test/java/org/onap/aaf/auth/cmd/test/perm/JU_Create.java index 61ea4be7..1fb27470 100644 --- a/auth/auth-cmd/src/test/java/org/onap/aaf/auth/cmd/test/perm/JU_Create.java +++ b/auth/auth-cmd/src/test/java/org/onap/aaf/auth/cmd/test/perm/JU_Create.java @@ -21,78 +21,89 @@ ******************************************************************************/ package org.onap.aaf.auth.cmd.test.perm; -import org.junit.Assert; +import static org.mockito.Matchers.any; +import static org.mockito.Mockito.when; + import org.junit.Before; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; +import org.onap.aaf.auth.cmd.test.HMangrStub; +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; import java.io.Writer; import java.net.HttpURLConnection; import java.net.URI; import java.net.URISyntaxException; -import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; import org.mockito.runners.MockitoJUnitRunner; import org.onap.aaf.auth.cmd.AAFcli; -import org.onap.aaf.auth.cmd.perm.Create; -import org.onap.aaf.auth.cmd.perm.Perm; -import org.onap.aaf.auth.cmd.role.Role; -import org.onap.aaf.auth.cmd.test.JU_AAFCli; +import org.onap.aaf.auth.cmd.ns.Create; +import org.onap.aaf.auth.cmd.ns.NS; import org.onap.aaf.auth.env.AuthzEnv; import org.onap.aaf.cadi.CadiException; import org.onap.aaf.cadi.Locator; import org.onap.aaf.cadi.LocatorException; import org.onap.aaf.cadi.PropAccess; import org.onap.aaf.cadi.SecuritySetter; -import org.onap.aaf.cadi.Locator.Item; -import org.onap.aaf.cadi.http.HMangr; -import org.onap.aaf.cadi.http.HRcli; +import org.onap.aaf.cadi.client.Future; +import org.onap.aaf.cadi.client.Rcli; import org.onap.aaf.misc.env.APIException; @RunWith(MockitoJUnitRunner.class) public class JU_Create { + + @Mock private SecuritySetter ssMock; + @Mock private Locator locMock; + @Mock private Writer wrtMock; + @Mock private Rcli clientMock; + @Mock private Future futureMock; private static Create create; - PropAccess prop; - AuthzEnv aEnv; - Writer wtr; - Locator loc; - HMangr hman; - AAFcli aafcli; + + private NS ns; + private PropAccess access; + private HMangrStub hman; + private AuthzEnv aEnv; + private AAFcli aafcli; @Before public void setUp () throws NoSuchFieldException, SecurityException, Exception, IllegalAccessException { - prop = new PropAccess(); + MockitoAnnotations.initMocks(this); + + when(clientMock.create(any(), any(), any())).thenReturn(futureMock); + when(clientMock.delete(any(), any(), any())).thenReturn(futureMock); + when(clientMock.update(any(), any(), any())).thenReturn(futureMock); + + hman = new HMangrStub(access, locMock, clientMock); + access = new PropAccess(new PrintStream(new ByteArrayOutputStream()), new String[0]); aEnv = new AuthzEnv(); - wtr = mock(Writer.class); - loc = mock(Locator.class); - SecuritySetter secSet = mock(SecuritySetter.class); - hman = new HMangr(aEnv, loc); - aafcli = new AAFcli(prop, aEnv, wtr, hman, null, secSet); - Role role = new Role(aafcli); - Perm perm = new Perm(role); - create = new Create(perm); + aafcli = new AAFcli(access, aEnv, wrtMock, hman, null, ssMock); + ns = new NS(aafcli); + + create = new Create(ns); + } + + @Test + public void testError() throws APIException, LocatorException, CadiException, URISyntaxException { + create._exec(0, new String[] {"grant","ungrant","setTo","grant","ungrant","setTo"}); + create._exec(4, new String[] {"grant","ungrant","setTo","grant","ungrant","setTo"}); } @Test - public void testExec() throws APIException, LocatorException, CadiException, URISyntaxException { - Item value = mock(Item.class); - Locator.Item item = new Locator.Item() { - }; - when(loc.best()).thenReturn(value); - URI uri = new URI("http://www.oracle.com/technetwork/java/index.html"); - when(loc.get(value)).thenReturn(uri); - SecuritySetter secSet = mock(SecuritySetter.class); - HRcli hcli = new HRcli(hman, uri, item, secSet); - String[] strArr = {"grant","ungrant","setTo","grant","ungrant","setTo"}; - create._exec(0, strArr); + public void testSuccess1() throws APIException, LocatorException, CadiException, URISyntaxException { + when(futureMock.code()).thenReturn(202); + create._exec(0, new String[] {"grant","ungrant","setTo","grant","ungrant","setTo"}); + } + @Test + public void testSuccess2() throws APIException, LocatorException, CadiException, URISyntaxException { + when(futureMock.get(any(Integer.class))).thenReturn(true); + create._exec(0, new String[] {"grant","ungrant","setTo","grant","ungrant","setTo"}); } @Test @@ -101,4 +112,4 @@ public class JU_Create { create.detailedHelp(0, sb); } -} +} \ No newline at end of file diff --git a/auth/auth-cmd/src/test/java/org/onap/aaf/auth/cmd/test/perm/JU_Delete.java b/auth/auth-cmd/src/test/java/org/onap/aaf/auth/cmd/test/perm/JU_Delete.java index c92eae82..4fd7892a 100644 --- a/auth/auth-cmd/src/test/java/org/onap/aaf/auth/cmd/test/perm/JU_Delete.java +++ b/auth/auth-cmd/src/test/java/org/onap/aaf/auth/cmd/test/perm/JU_Delete.java @@ -21,77 +21,90 @@ ******************************************************************************/ package org.onap.aaf.auth.cmd.test.perm; -import org.junit.Assert; +import static org.mockito.Matchers.any; +import static org.mockito.Mockito.when; + + import org.junit.Before; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; +import org.onap.aaf.auth.cmd.test.HMangrStub; +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; import java.io.Writer; import java.net.HttpURLConnection; import java.net.URI; import java.net.URISyntaxException; -import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; import org.mockito.runners.MockitoJUnitRunner; import org.onap.aaf.auth.cmd.AAFcli; import org.onap.aaf.auth.cmd.perm.Delete; import org.onap.aaf.auth.cmd.perm.Perm; import org.onap.aaf.auth.cmd.role.Role; -import org.onap.aaf.auth.cmd.test.JU_AAFCli; import org.onap.aaf.auth.env.AuthzEnv; import org.onap.aaf.cadi.CadiException; import org.onap.aaf.cadi.Locator; import org.onap.aaf.cadi.LocatorException; import org.onap.aaf.cadi.PropAccess; import org.onap.aaf.cadi.SecuritySetter; -import org.onap.aaf.cadi.Locator.Item; -import org.onap.aaf.cadi.http.HMangr; -import org.onap.aaf.cadi.http.HRcli; +import org.onap.aaf.cadi.client.Future; +import org.onap.aaf.cadi.client.Rcli; import org.onap.aaf.misc.env.APIException; @RunWith(MockitoJUnitRunner.class) public class JU_Delete { + @Mock private SecuritySetter ssMock; + @Mock private Locator locMock; + @Mock private Writer wrtMock; + @Mock private Rcli clientMock; + @Mock private Future futureMock; + private static Delete del; - PropAccess prop; - AuthzEnv aEnv; - Writer wtr; - Locator loc; - HMangr hman; - AAFcli aafcli; + + private PropAccess access; + private HMangrStub hman; + private AuthzEnv aEnv; + private AAFcli aafcli; @Before - public void setUp () throws NoSuchFieldException, SecurityException, Exception, IllegalAccessException { - prop = new PropAccess(); + public void setUp() throws NoSuchFieldException, SecurityException, Exception, IllegalAccessException { + MockitoAnnotations.initMocks(this); + + when(clientMock.create(any(), any(), any())).thenReturn(futureMock); + when(clientMock.delete(any(), any(), any())).thenReturn(futureMock); + when(clientMock.update(any(), any(), any())).thenReturn(futureMock); + + hman = new HMangrStub(access, locMock, clientMock); + access = new PropAccess(new PrintStream(new ByteArrayOutputStream()), new String[0]); aEnv = new AuthzEnv(); - wtr = mock(Writer.class); - loc = mock(Locator.class); - SecuritySetter secSet = mock(SecuritySetter.class); - hman = new HMangr(aEnv, loc); - aafcli = new AAFcli(prop, aEnv, wtr, hman, null, secSet); + aafcli = new AAFcli(access, aEnv, wrtMock, hman, null, ssMock); + Role role = new Role(aafcli); Perm perm = new Perm(role); + del = new Delete(perm); } @Test - public void testExec() throws APIException, LocatorException, CadiException, URISyntaxException { - Item value = mock(Item.class); - Locator.Item item = new Locator.Item() { - }; - when(loc.best()).thenReturn(value); - URI uri = new URI("http://www.oracle.com/technetwork/java/index.html"); - when(loc.get(value)).thenReturn(uri); - SecuritySetter secSet = mock(SecuritySetter.class); -// HRcli hcli = new HRcli(hman, uri, item, secSet); -// String[] strArr = {"grant","ungrant","setTo","grant","ungrant","setTo"}; -// del._exec(0, strArr); + public void testExecError() throws APIException, LocatorException, CadiException, URISyntaxException { + del._exec(0, new String[] {"grant","ungrant","setTo","grant","ungrant","setTo"}); + } + @Test + public void testExecSuccess1() throws APIException, LocatorException, CadiException, URISyntaxException { + when(futureMock.code()).thenReturn(202); + del._exec(0, new String[] {"grant","ungrant","setTo","grant","ungrant","setTo"}); + } + + @Test + public void testExecSuccess2() throws APIException, LocatorException, CadiException, URISyntaxException { + when(futureMock.get(any(Integer.class))).thenReturn(true); + del._exec(0, new String[] {"grant","ungrant","setTo","grant","ungrant","setTo"}); } @Test @@ -99,4 +112,5 @@ public class JU_Delete { StringBuilder sb = new StringBuilder(); del.detailedHelp(0, sb); } -} + +} \ No newline at end of file diff --git a/auth/auth-cmd/src/test/java/org/onap/aaf/auth/cmd/test/perm/JU_Describe.java b/auth/auth-cmd/src/test/java/org/onap/aaf/auth/cmd/test/perm/JU_Describe.java index 9a91d0e9..224b5c75 100644 --- a/auth/auth-cmd/src/test/java/org/onap/aaf/auth/cmd/test/perm/JU_Describe.java +++ b/auth/auth-cmd/src/test/java/org/onap/aaf/auth/cmd/test/perm/JU_Describe.java @@ -21,77 +21,89 @@ ******************************************************************************/ package org.onap.aaf.auth.cmd.test.perm; -import org.junit.Assert; -import org.junit.Before; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; -import static org.mockito.Mockito.mock; +import static org.mockito.Matchers.any; import static org.mockito.Mockito.when; +import org.junit.Before; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; import java.io.Writer; import java.net.HttpURLConnection; import java.net.URI; import java.net.URISyntaxException; -import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; import org.mockito.runners.MockitoJUnitRunner; import org.onap.aaf.auth.cmd.AAFcli; -import org.onap.aaf.auth.cmd.perm.Describe; -import org.onap.aaf.auth.cmd.perm.Perm; -import org.onap.aaf.auth.cmd.role.Role; -import org.onap.aaf.auth.cmd.test.JU_AAFCli; import org.onap.aaf.auth.env.AuthzEnv; import org.onap.aaf.cadi.CadiException; import org.onap.aaf.cadi.Locator; import org.onap.aaf.cadi.LocatorException; import org.onap.aaf.cadi.PropAccess; import org.onap.aaf.cadi.SecuritySetter; -import org.onap.aaf.cadi.Locator.Item; -import org.onap.aaf.cadi.http.HMangr; -import org.onap.aaf.cadi.http.HRcli; +import org.onap.aaf.cadi.client.Future; +import org.onap.aaf.cadi.client.Rcli; import org.onap.aaf.misc.env.APIException; +import org.onap.aaf.auth.cmd.perm.Describe; +import org.onap.aaf.auth.cmd.perm.Perm; +import org.onap.aaf.auth.cmd.role.Role; +import org.onap.aaf.auth.cmd.test.HMangrStub; + @RunWith(MockitoJUnitRunner.class) public class JU_Describe { -// - private static Describe desc; - PropAccess prop; - AuthzEnv aEnv; - Writer wtr; - Locator loc; - HMangr hman; - AAFcli aafcli; + + @Mock private SecuritySetter ssMock; + @Mock private Locator locMock; + @Mock private Writer wrtMock; + @Mock private Rcli clientMock; + @Mock private Future futureMock; + + private PropAccess access; + private HMangrStub hman; + private AuthzEnv aEnv; + private AAFcli aafcli; + + private Describe desc; @Before public void setUp () throws NoSuchFieldException, SecurityException, Exception, IllegalAccessException { - prop = new PropAccess(); + MockitoAnnotations.initMocks(this); + + when(clientMock.create(any(), any(), any())).thenReturn(futureMock); + when(clientMock.delete(any(), any(), any())).thenReturn(futureMock); + when(clientMock.update(any(), any(), any())).thenReturn(futureMock); + + hman = new HMangrStub(access, locMock, clientMock); + access = new PropAccess(new PrintStream(new ByteArrayOutputStream()), new String[0]); aEnv = new AuthzEnv(); - wtr = mock(Writer.class); - loc = mock(Locator.class); - SecuritySetter secSet = mock(SecuritySetter.class); - hman = new HMangr(aEnv, loc); - aafcli = new AAFcli(prop, aEnv, wtr, hman, null, secSet); + aafcli = new AAFcli(access, aEnv, wrtMock, hman, null, ssMock); + Role role = new Role(aafcli); Perm perm = new Perm(role); + desc = new Describe(perm); } @Test - public void testExec() throws APIException, LocatorException, CadiException, URISyntaxException { - Item value = mock(Item.class); - Locator.Item item = new Locator.Item() { - }; - when(loc.best()).thenReturn(value); - URI uri = new URI("http://www.oracle.com/technetwork/java/index.html"); - when(loc.get(value)).thenReturn(uri); - SecuritySetter secSet = mock(SecuritySetter.class); -// HRcli hcli = new HRcli(hman, uri, item, secSet); -// String[] strArr = {"grant","ungrant","setTo","grant","ungrant","setTo"}; -// desc._exec(0, strArr); - + public void testExecError() throws APIException, LocatorException, CadiException, URISyntaxException { + desc._exec(0, new String[] {"grant","ungrant","setTo","grant","ungrant","setTo"}); + } + + @Test + public void testExecSuccess1() throws APIException, LocatorException, CadiException, URISyntaxException { + when(futureMock.code()).thenReturn(202); + desc._exec(0, new String[] {"grant","ungrant","setTo","grant","ungrant","setTo"}); + } + + @Test + public void testExecSuccess2() throws APIException, LocatorException, CadiException, URISyntaxException { + when(futureMock.get(any(Integer.class))).thenReturn(true); + desc._exec(0, new String[] {"grant","ungrant","setTo","grant","ungrant","setTo"}); } @Test diff --git a/auth/auth-cmd/src/test/java/org/onap/aaf/auth/cmd/test/perm/JU_Grant.java b/auth/auth-cmd/src/test/java/org/onap/aaf/auth/cmd/test/perm/JU_Grant.java index 0c4d292f..17280c64 100644 --- a/auth/auth-cmd/src/test/java/org/onap/aaf/auth/cmd/test/perm/JU_Grant.java +++ b/auth/auth-cmd/src/test/java/org/onap/aaf/auth/cmd/test/perm/JU_Grant.java @@ -21,83 +21,106 @@ ******************************************************************************/ package org.onap.aaf.auth.cmd.test.perm; -import org.junit.Assert; -import org.junit.Before; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; -import static org.mockito.Mockito.mock; +import static org.mockito.Matchers.any; import static org.mockito.Mockito.when; +import org.junit.Before; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; import java.io.Writer; import java.net.HttpURLConnection; import java.net.URI; import java.net.URISyntaxException; -import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; import org.mockito.runners.MockitoJUnitRunner; import org.onap.aaf.auth.cmd.AAFcli; -import org.onap.aaf.auth.cmd.perm.Grant; -import org.onap.aaf.auth.cmd.perm.Perm; -import org.onap.aaf.auth.cmd.role.Role; -import org.onap.aaf.auth.cmd.test.JU_AAFCli; import org.onap.aaf.auth.env.AuthzEnv; import org.onap.aaf.cadi.CadiException; import org.onap.aaf.cadi.Locator; import org.onap.aaf.cadi.LocatorException; import org.onap.aaf.cadi.PropAccess; import org.onap.aaf.cadi.SecuritySetter; -import org.onap.aaf.cadi.Locator.Item; -import org.onap.aaf.cadi.http.HMangr; -import org.onap.aaf.cadi.http.HRcli; +import org.onap.aaf.cadi.client.Future; +import org.onap.aaf.cadi.client.Rcli; import org.onap.aaf.misc.env.APIException; +import org.onap.aaf.auth.cmd.perm.Grant; +import org.onap.aaf.auth.cmd.perm.Perm; +import org.onap.aaf.auth.cmd.role.Role; +import org.onap.aaf.auth.cmd.test.HMangrStub; + @RunWith(MockitoJUnitRunner.class) public class JU_Grant { private static Grant grant; - PropAccess prop; - AuthzEnv aEnv; - Writer wtr; - Locator loc; - HMangr hman; - AAFcli aafcli; + + @Mock private SecuritySetter ssMock; + @Mock private Locator locMock; + @Mock private Writer wrtMock; + @Mock private Rcli clientMock; + @Mock private Future futureMock; + + private PropAccess access; + private HMangrStub hman; + private AuthzEnv aEnv; + private AAFcli aafcli; @Before public void setUp () throws NoSuchFieldException, SecurityException, Exception, IllegalAccessException { - prop = new PropAccess(); + MockitoAnnotations.initMocks(this); + + when(clientMock.create(any(), any(), any())).thenReturn(futureMock); + when(clientMock.delete(any(), any(), any())).thenReturn(futureMock); + when(clientMock.update(any(), any(), any())).thenReturn(futureMock); + + hman = new HMangrStub(access, locMock, clientMock); + access = new PropAccess(new PrintStream(new ByteArrayOutputStream()), new String[0]); aEnv = new AuthzEnv(); - wtr = mock(Writer.class); - loc = mock(Locator.class); - SecuritySetter secSet = mock(SecuritySetter.class); - hman = new HMangr(aEnv, loc); - aafcli = new AAFcli(prop, aEnv, wtr, hman, null, secSet); + aafcli = new AAFcli(access, aEnv, wrtMock, hman, null, ssMock); + Role role = new Role(aafcli); Perm perm = new Perm(role); + grant = new Grant(perm); } + + @Test + public void testExecError() throws APIException, LocatorException, CadiException, URISyntaxException { + grant._exec(0, new String[] {"grant","ungrant","setTo","grant","ungrant","setTo"}); + } + + @Test + public void testExecSuccess1() throws APIException, LocatorException, CadiException, URISyntaxException { + when(futureMock.code()).thenReturn(202); + grant._exec(0, new String[] {"grant","ungrant","setTo","grant","ungrant","setTo"}); + grant._exec(1, new String[] {"grant","ungrant","setTo","grant","ungrant","setTo"}); + } + + @Test + public void testExecSuccess2() throws APIException, LocatorException, CadiException, URISyntaxException { + when(futureMock.get(any(Integer.class))).thenReturn(true); + grant._exec(0, new String[] {"grant","ungrant","setTo","grant","ungrant","setTo"}); + } + + @Test + public void testExecSetToError() throws APIException, LocatorException, CadiException, URISyntaxException { + grant._exec(2, new String[] {"grant","ungrant","setTo","grant","ungrant","setTo"}); + } + + @Test + public void testExecSetToSuccess1() throws APIException, LocatorException, CadiException, URISyntaxException { + when(futureMock.get(any(Integer.class))).thenReturn(true); + grant._exec(2, new String[] {"grant","ungrant","setTo","grant","ungrant","setTo"}); + } @Test - public void testExec() throws APIException, LocatorException, CadiException, URISyntaxException { - Item value = mock(Item.class); - Locator.Item item = new Locator.Item() { - }; - when(loc.best()).thenReturn(value); - URI uri = new URI("http://www.oracle.com/technetwork/java/index.html"); - when(loc.get(value)).thenReturn(uri); - SecuritySetter secSet = mock(SecuritySetter.class); - HRcli hcli = new HRcli(hman, uri, item, secSet); -// String[] strArr = {"grant","ungrant","setTo","grant","ungrant","setTo"}; -// grant._exec(0, strArr); -// -// String[] strArr1 = {"ungrant","setTo","grant","ungrant","setTo", "grant"}; -// grant._exec(0, strArr1); -// -// String[] strArr2 = {"setTo","grant","ungrant","setTo", "grant", "ungrant"}; -// grant._exec(0, strArr2); - + public void testExecSetToSuccess2() throws APIException, LocatorException, CadiException, URISyntaxException { + grant._exec(2, new String[] {"grant","ungrant","setTo","grant","ungrant","setTo","another"}); } @Test -- 2.16.6