1 | package gov.hhs.fha.nhinc.subscription.repository.test;
|
---|
2 |
|
---|
3 | import gov.hhs.fha.nhinc.common.nhinccommon.AcknowledgementType;
|
---|
4 | import gov.hhs.fha.nhinc.common.subscription.CommunityType;
|
---|
5 | import gov.hhs.fha.nhinc.common.subscription.CriteriaType;
|
---|
6 | import gov.hhs.fha.nhinc.common.subscription.CriterionType;
|
---|
7 | import gov.hhs.fha.nhinc.common.subscription.ReferenceParameterType;
|
---|
8 | import gov.hhs.fha.nhinc.common.subscription.ReferenceParametersType;
|
---|
9 | import gov.hhs.fha.nhinc.common.subscription.SubscribeeType;
|
---|
10 | import gov.hhs.fha.nhinc.common.subscription.SubscriberType;
|
---|
11 | import gov.hhs.fha.nhinc.common.subscription.SubscriptionCriteriaType;
|
---|
12 | import org.junit.After;
|
---|
13 | import org.junit.Before;
|
---|
14 | import org.junit.Test;
|
---|
15 | import static org.junit.Assert.*;
|
---|
16 | import gov.hhs.fha.nhinc.common.subscription.SubscriptionItemType;
|
---|
17 | import gov.hhs.fha.nhinc.common.subscription.SubscriptionItemsType;
|
---|
18 | import gov.hhs.fha.nhinc.common.subscription.SubscriptionReferenceType;
|
---|
19 | import gov.hhs.fha.nhinc.subscription.repository.GatewaySubscriptionRepository;
|
---|
20 | import gov.hhs.fha.nhinc.common.nhinccommon.QualifiedSubjectIdentifierType;
|
---|
21 | import gov.hhs.fha.nhinc.common.subscription.RetrieveBySubscriptionReferenceRequestMessageType;
|
---|
22 |
|
---|
23 | /**
|
---|
24 | * Unit test for the SubscriptionRepository class
|
---|
25 | *
|
---|
26 | * @author Neil Webb
|
---|
27 | */
|
---|
28 | public 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 | }
|
---|