source: ccr/trunk/nhin-vista/projects/NHINC/Current/Product/Production/Gateway/GatewaySubscriptionRepositoryEJB/test/gov/hhs/fha/nhinc/subscription/repository/test/SubscriptionRepositoryTest.java@ 507

Last change on this file since 507 was 507, checked in by George Lilly, 15 years ago

NHIN gateway and adaptor for use on linux with VistA EHR and RPMS

File size: 10.8 KB
Line 
1package gov.hhs.fha.nhinc.subscription.repository.test;
2
3import gov.hhs.fha.nhinc.common.nhinccommon.AcknowledgementType;
4import gov.hhs.fha.nhinc.common.subscription.CommunityType;
5import gov.hhs.fha.nhinc.common.subscription.CriteriaType;
6import gov.hhs.fha.nhinc.common.subscription.CriterionType;
7import gov.hhs.fha.nhinc.common.subscription.ReferenceParameterType;
8import gov.hhs.fha.nhinc.common.subscription.ReferenceParametersType;
9import gov.hhs.fha.nhinc.common.subscription.SubscribeeType;
10import gov.hhs.fha.nhinc.common.subscription.SubscriberType;
11import gov.hhs.fha.nhinc.common.subscription.SubscriptionCriteriaType;
12import org.junit.After;
13import org.junit.Before;
14import org.junit.Test;
15import static org.junit.Assert.*;
16import gov.hhs.fha.nhinc.common.subscription.SubscriptionItemType;
17import gov.hhs.fha.nhinc.common.subscription.SubscriptionItemsType;
18import gov.hhs.fha.nhinc.common.subscription.SubscriptionReferenceType;
19import gov.hhs.fha.nhinc.subscription.repository.GatewaySubscriptionRepository;
20import gov.hhs.fha.nhinc.common.nhinccommon.QualifiedSubjectIdentifierType;
21import gov.hhs.fha.nhinc.common.subscription.RetrieveBySubscriptionReferenceRequestMessageType;
22
23/**
24 * Unit test for the SubscriptionRepository class
25 *
26 * @author Neil Webb
27 */
28public class SubscriptionRepositoryTest
29{
30 private static final String CRITERION1_KEY = "CriterionKey";
31 private static final String CRITERION1_VALUE = "CriterionValue";
32 private static final String CRITERION2_KEY = "CriterionKey";
33 private static final String CRITERION2_VALUE = "CriterionValue";
34 private static SubscriptionItemType subscriptionItem = null;
35 private static SubscriptionReferenceType subscriptionReference = null;
36
37 @Before
38 public void setUp() throws Exception
39 {
40 System.out.println("Begin setUp");
41 try
42 {
43 subscriptionItem = createSubscription();
44
45 subscriptionReference = new GatewaySubscriptionRepository().storeSubscription(subscriptionItem);
46 }
47 catch (Throwable t)
48 {
49 t.printStackTrace();
50 fail(t.getMessage());
51 }
52 System.out.println("End setUp");
53 }
54
55 @After
56 public void tearDown() throws Exception
57 {
58 System.out.println("Begin tearDown");
59 try
60 {
61 gov.hhs.fha.nhinc.common.subscription.DeleteSubscriptionMessageRequestType deleteSubscriptionMessage = new gov.hhs.fha.nhinc.common.subscription.DeleteSubscriptionMessageRequestType();
62 deleteSubscriptionMessage.setSubscriptionReference(subscriptionReference);
63 AcknowledgementType ack = new GatewaySubscriptionRepository().deleteSubscription(deleteSubscriptionMessage);
64 assertNotNull("Ack", ack);
65 }
66 catch (Throwable t)
67 {
68 t.printStackTrace();
69 fail(t.getMessage());
70 }
71 System.out.println("End tearDown");
72 }
73
74 @Test
75 public void testStoreSubscription()
76 {
77 System.out.println("Begin testStoreSubscription");
78 try
79 {
80 // Validate subscription response
81 assertNotNull("Subscription reference was null", subscriptionReference);
82 assertNotNull("Subscription manager endpoint address was null", subscriptionReference.getSubscriptionManagerEndpointAddress());
83 assertNotNull("Reference parameters list was null", subscriptionReference.getReferenceParameters());
84 assertEquals("Reference parameter count", 1, subscriptionReference.getReferenceParameters().getReferenceParameter().size());
85 ReferenceParameterType refParam = subscriptionReference.getReferenceParameters().getReferenceParameter().get(0);
86 assertNotNull("Reference parameter was nulll", refParam);
87 assertNotNull("Reference parameter - namepace was null", refParam.getNamespace());
88 assertNotNull("Reference parameter - namepace prefix was null", refParam.getPrefix());
89 assertNotNull("Reference parameter - element name was null", refParam.getElementName());
90 assertNotNull("Reference parameter - value was null", refParam.getValue());
91 }
92 catch (Throwable t)
93 {
94 t.printStackTrace();
95 fail(t.getMessage());
96 }
97 System.out.println("End testStoreSubscription");
98 }
99
100 @Test
101 public void testRetriveByCriteria()
102 {
103 System.out.println("Begin testRetriveByCriteria");
104 try
105 {
106 // Create subscription criteria
107 SubscriptionCriteriaType subCriteria = new SubscriptionCriteriaType();
108
109 QualifiedSubjectIdentifierType subscriberPatient = new QualifiedSubjectIdentifierType();
110 subscriberPatient.setSubjectIdentifier("subscriberpatientid");
111 subscriberPatient.setAssigningAuthorityIdentifier("subscriberPatientAssigningAuthorityID");
112 subCriteria.setSubscriberPatient(subscriberPatient);
113
114 QualifiedSubjectIdentifierType subscribeePatient = new QualifiedSubjectIdentifierType();
115 subscribeePatient.setSubjectIdentifier("subscribeepatientid");
116 subscribeePatient.setAssigningAuthorityIdentifier("subscribeePatientAssigningAuthorityID");
117 subCriteria.setSubscribeePatient(subscribeePatient);
118
119 CriteriaType criteria = new CriteriaType();
120 CriterionType crit = new CriterionType();
121 crit.setKey(CRITERION1_KEY);
122 crit.setValue(CRITERION1_VALUE);
123 criteria.getCriterion().add(crit);
124 crit = new CriterionType();
125 crit.setKey(CRITERION2_KEY);
126 crit.setValue(CRITERION2_VALUE);
127 criteria.getCriterion().add(crit);
128 subCriteria.setCriteria(criteria);
129
130 SubscriptionItemsType subscriptionItems = new GatewaySubscriptionRepository().retrieveByCriteria(subCriteria);
131 assertNotNull("Subscription list was null", subscriptionItems);
132 assertNotNull("Subscription item list was null", subscriptionItems.getSubscriptionItem());
133 assertEquals("A single subscription was not returned", 1, subscriptionItems.getSubscriptionItem().size());
134 }
135 catch (Throwable t)
136 {
137 t.printStackTrace();
138 fail(t.getMessage());
139 }
140 System.out.println("End testRetriveByCriteria");
141 }
142
143 @Test
144 public void testRetriveBySubscriptionReference()
145 {
146 System.out.println("Begin testRetriveBySubscriptionReference");
147 try
148 {
149 RetrieveBySubscriptionReferenceRequestMessageType retrieveBySubscriptionReferenceMessage = new RetrieveBySubscriptionReferenceRequestMessageType();
150 retrieveBySubscriptionReferenceMessage.setSubscriptionReference(subscriptionReference);
151 SubscriptionItemType subItem = new GatewaySubscriptionRepository().retrieveBySubscriptionReference(retrieveBySubscriptionReferenceMessage);
152 assertNotNull("Subscription item was null", subItem);
153 assertNotNull("SubscriptionItem - subscriber was null", subItem.getSubscriber());
154 assertNotNull("SubscriptionItem - subscribee was null", subItem.getSubscribee());
155 assertNotNull("SubscriptionItem - subscription criteria was null", subItem.getSubscriptionCriteria());
156 assertNotNull("SubscriptionItem - subscription reference was null", subItem.getSubscriptionReference());
157 }
158 catch (Throwable t)
159 {
160 t.printStackTrace();
161 fail(t.getMessage());
162 }
163 System.out.println("End testRetriveBySubscriptionReference");
164 }
165
166 private static SubscriptionItemType createSubscription()
167 {
168 SubscriptionItemType subItem = new SubscriptionItemType();
169
170 // SUBSCRIBER
171 SubscriberType subscriber = new SubscriberType();
172 subscriber.setNotificationConsumerEndpointAddress("SubscriberNotificationConsumerEndpointAddress");
173 subscriber.setUserAddress("SubscriberUserAddress");
174 CommunityType subscriberCommunity = new CommunityType();
175 subscriberCommunity.setId("subscribercommunityid");
176 subscriberCommunity.setName("subscribercommunityname");
177 subscriber.setCommunity(subscriberCommunity);
178 subItem.setSubscriber(subscriber);
179
180 // SUBSCRIBEE
181 SubscribeeType subscribee = new SubscribeeType();
182 subscribee.setNotificationProducerEndpointAddress("SubscribeeNotificationProducerEndpointAddress");
183 subscribee.setUserAddress("SubscribeeUserAddress");
184 CommunityType subscribeeCommunity = new CommunityType();
185 subscribeeCommunity.setId("subscribeecommunityid");
186 subscribeeCommunity.setName("subscribeecommunityname");
187 subscribee.setCommunity(subscribeeCommunity);
188 subItem.setSubscribee(subscribee);
189
190 // SUBSCRIPTION CRITERIA
191 SubscriptionCriteriaType subscriptionCriteria = new SubscriptionCriteriaType();
192
193 // Subscriber patient
194 QualifiedSubjectIdentifierType subscriberPatient = new QualifiedSubjectIdentifierType();
195 subscriberPatient.setSubjectIdentifier("subscriberpatientid");
196 subscriberPatient.setAssigningAuthorityIdentifier("subscriberPatientAssigningAuthorityID");
197 subscriptionCriteria.setSubscriberPatient(subscriberPatient);
198
199 // Subscribee patient
200 QualifiedSubjectIdentifierType subscribeePatient = new QualifiedSubjectIdentifierType();
201 subscribeePatient.setSubjectIdentifier("subscribeepatientid");
202 subscribeePatient.setAssigningAuthorityIdentifier("subscribeePatientAssigningAuthorityID");
203 subscriptionCriteria.setSubscribeePatient(subscribeePatient);
204
205 // Criteria
206 CriteriaType criteria = new CriteriaType();
207 CriterionType criterion = new CriterionType();
208 criterion.setKey(CRITERION1_KEY);
209 criterion.setValue(CRITERION1_VALUE);
210 criteria.getCriterion().add(criterion);
211 criterion = new CriterionType();
212 criterion.setKey(CRITERION2_KEY);
213 criterion.setValue(CRITERION2_VALUE);
214 criteria.getCriterion().add(criterion);
215 subscriptionCriteria.setCriteria(criteria);
216
217 subItem.setSubscriptionCriteria(subscriptionCriteria);
218
219 // SUBSCRIPTION REFERENCE
220 SubscriptionReferenceType subRef = new SubscriptionReferenceType();
221 subRef.setSubscriptionManagerEndpointAddress("SubscriptionReferenceManagerEndpointAddress");
222 ReferenceParametersType refParams = new ReferenceParametersType();
223 ReferenceParameterType refParam = new ReferenceParameterType();
224 refParam.setNamespace("refparamnamespace");
225 refParam.setPrefix("refparamnsprefix");
226 refParam.setElementName("refparamelementname");
227 refParam.setValue("refparamvalue");
228 refParams.getReferenceParameter().add(refParam);
229 subRef.setReferenceParameters(refParams);
230 subItem.setSubscriptionReference(subRef);
231
232 return subItem;
233 }
234}
Note: See TracBrowser for help on using the repository browser.