source: EDIS/tags/ed/tracking-server-vista/src/test/java/gov/va/med/edp/vistalink/VistaLinkTemplateTest.java@ 1240

Last change on this file since 1240 was 1240, checked in by George Lilly, 13 years ago

new version from the VA

File size: 5.0 KB
Line 
1package gov.va.med.edp.vistalink;
2
3import gov.va.med.vistalink.adapter.record.LoginsDisabledFaultException;
4import gov.va.med.vistalink.adapter.record.VistaLinkFaultException;
5import gov.va.med.vistalink.rpc.NoRpcContextFaultException;
6import gov.va.med.vistalink.rpc.RpcNotInContextFaultException;
7import gov.va.med.vistalink.rpc.RpcNotOkForProxyUseException;
8import gov.va.med.vistalink.security.m.SecurityAccessVerifyCodePairInvalidException;
9import gov.va.med.edp.vistalink.VistaLinkTemplate;
10import org.springframework.dao.DataAccessResourceFailureException;
11
12public class VistaLinkTemplateTest extends AbstractVistaLinkConnectionTest {
13
14 private static final String TEST_DUZ = "1234567";
15 protected static final String TEST_RPC_CONTEXT = "FOO RPC CONTEXT";
16 protected static final String TEST_RPC = "FOO BAR RPC";
17 protected static final String TEST_DIVISION = "500";
18
19 public void testExecuteRpcAsUserNoParams() {
20 expectVistaLinkDuzConnection(TEST_DUZ);
21 expectRpcAndReturn(TEST_RPC_CONTEXT, TEST_RPC, null, "<foo/>");
22
23 replay();
24
25 VistaLinkTemplate t = new VistaLinkTemplate(mockConnectionFactoryLocator);
26
27 String result = t.rpcAsUser(TEST_DIVISION, TEST_DUZ, TEST_RPC_CONTEXT, TEST_RPC);
28 assertEquals("<foo/>", result);
29
30 verify();
31 }
32
33 public void testExecuteRpcAsApplicationNoParams() {
34 expectVistaLinkAppProxyConnection(TEST_DUZ);
35 expectRpcAndReturn(TEST_RPC_CONTEXT, TEST_RPC, null, "<foo/>");
36
37 replay();
38
39 VistaLinkTemplate t = new VistaLinkTemplate(mockConnectionFactoryLocator);
40
41 String result = t.rpcAsApplication(TEST_DIVISION, TEST_DUZ, TEST_RPC_CONTEXT, TEST_RPC);
42 assertEquals("<foo/>", result);
43
44 verify();
45 }
46
47 public void testDataAccessResourceFailureExceptionFromLocator() {
48 VistaLinkTemplate t = new VistaLinkTemplate(mockConnectionFactoryLocator);
49 try {
50 t.rpcAsUser("600", TEST_DUZ, TEST_RPC_CONTEXT, TEST_RPC); // locator can only find station 500
51 fail("expected data access resource failure exception");
52 } catch (DataAccessResourceFailureException e) {
53 // NOOP
54 }
55 }
56
57 public void testVistaLinkFaultException() {
58 assertExceptionDuringRpc(VistaLinkDataRetrievalFailureException.class, new VistaLinkFaultException("foo bar baz"));
59 }
60
61 public void testSecurityFaultException() {
62 assertExceptionDuringRpc(VistaLinkPermissionDeniedException.class, new SecurityAccessVerifyCodePairInvalidException(new VistaLinkFaultException("foo bar baz")));
63 }
64
65 public void testRpcNotInContextException() {
66 assertExceptionDuringRpc(VistaLinkRpcNotInContextException.class, new RpcNotInContextFaultException(new VistaLinkFaultException("foo bar baz")));
67 }
68
69
70 public void testNoRpcContextException() {
71 assertExceptionDuringRpc(VistaLinkNoRpcContextException.class, new NoRpcContextFaultException(new VistaLinkFaultException("foo bar baz")));
72 }
73
74 public void testRpcNotOkForProxyUseException() {
75 expectVistaLinkAppProxyConnection(TEST_DUZ);
76 expectRpcAndDefaultThrow(TEST_RPC_CONTEXT, TEST_RPC, null, new RpcNotOkForProxyUseException(new VistaLinkFaultException("foo bar baz")));
77
78 replay();
79
80 VistaLinkTemplate t = new VistaLinkTemplate(mockConnectionFactoryLocator);
81 try {
82 t.rpcAsApplication(TEST_DIVISION, TEST_DUZ, TEST_RPC_CONTEXT, TEST_RPC);
83 fail("expected vistalink not OK for proxy use exception");
84 } catch (VistaLinkRpcNotOkForProxyUseException e) {
85 // NOOP
86 }
87 verify();
88 }
89
90 public void testLoginsDisabledException() {
91 assertExceptionDuringRpc(VistaLinkLoginsDisabledException.class, new LoginsDisabledFaultException(new VistaLinkFaultException("foo bar baz")));
92 }
93
94 public void assertExceptionDuringRpc(Class expectedException, Throwable throwDuringRpc) {
95 expectVistaLinkDuzConnection(TEST_DUZ);
96 expectVistaLinkAppProxyConnection(TEST_DUZ);
97 expectRpcAndDefaultThrow(TEST_RPC_CONTEXT, TEST_RPC, null, throwDuringRpc);
98 expectRpcAndDefaultThrow(TEST_RPC_CONTEXT, TEST_RPC, null, throwDuringRpc);
99
100 replay();
101
102 VistaLinkTemplate t = new VistaLinkTemplate(mockConnectionFactoryLocator);
103 try {
104 t.rpcAsUser(TEST_DIVISION, TEST_DUZ, TEST_RPC_CONTEXT, TEST_RPC);
105 fail("expected " + expectedException.getName());
106 } catch (Exception e) {
107 assertTrue(expectedException.isAssignableFrom(e.getClass()));
108 }
109
110 try {
111 t.rpcAsApplication(TEST_DIVISION, TEST_DUZ, TEST_RPC_CONTEXT, TEST_RPC);
112 fail("expected " + expectedException.getName());
113 } catch (Exception e) {
114 assertTrue(expectedException.isAssignableFrom(e.getClass()));
115 }
116
117 verify();
118 }
119
120 protected String getStationNumber() {
121 return TEST_DIVISION;
122 }
123}
Note: See TracBrowser for help on using the repository browser.