1 package com.srv4pos.server.api;
2
3 import com.srv4pos.server.api.activation.ActivationSecurityInfo;
4 import com.srv4pos.server.api.activation.ActivationServiceSample;
5 import com.srv4pos.server.api.auth.AuthServiceSample;
6 import com.srv4pos.server.api.category.CategoryServiceSample;
7 import com.srv4pos.server.api.commodity.CommodityServiceSample;
8 import com.srv4pos.server.api.customization.CustomizationServiceSample;
9 import com.srv4pos.server.api.hairdresser.HairdresserServiceSample;
10 import com.srv4pos.server.api.infrastructure.Logger;
11 import com.srv4pos.server.api.infrastructure.PrintStreamLogger;
12 import com.srv4pos.server.api.infrastructure.credentials.ActivationCredentials;
13 import com.srv4pos.server.api.infrastructure.credentials.SellerCredentials;
14 import com.srv4pos.server.api.infrastructure.http.HttpHelper;
15 import com.srv4pos.server.api.infrastructure.http.HttpUrlTrasport;
16 import com.srv4pos.server.api.infrastructure.http.Transport;
17 import com.srv4pos.server.api.keyboard.KeyboardServiceSample;
18 import com.srv4pos.server.api.keyboardentry.KeyboardEntryServiceSample;
19 import com.srv4pos.server.api.order.OrderServiceSample;
20 import com.srv4pos.server.api.posplus.PosPlusServiceSample;
21 import com.srv4pos.server.api.precept.PreceptServiceSample;
22 import com.srv4pos.server.api.product.ProductServiceSample;
23 import com.srv4pos.server.api.receiptSettings.ReceiptSettingsServiceSample;
24 import com.srv4pos.server.api.registration.RegistrationServiceSample;
25 import com.srv4pos.server.api.restaurant.RestaurantServiceSample;
26 import com.srv4pos.server.api.sale.SaleServiceSample;
27 import com.srv4pos.server.api.sale.SaleSlotServiceSample;
28 import com.srv4pos.server.api.seller.SellerServiceSample;
29 import com.srv4pos.server.api.server.ServerServiceSample;
30 import com.srv4pos.server.api.sync.sample.SynchronizationSample;
31 import com.srv4pos.server.api.tax.TaxServiceSample;
32 import com.srv4pos.server.api.treasurer.TreasurerServiceSample;
33
34 import java.net.URL;
35 import java.util.Date;
36
37 import static java.lang.System.out;
38
39
40
41
42
43
44 public class Diagnostics {
45
46 private static final String CONSTANT_TEST_PRODUCTS = "Test Products";
47 private static final String CONSTANT_SE = "se";
48 private final URL url;
49 private final Logger logger;
50 private boolean jndi;
51
52 public Diagnostics(URL url, Logger logger, boolean jndi) {
53 this.url = url;
54 this.logger = logger;
55 this.jndi = jndi;
56 }
57
58
59 public String run() throws Exception {
60
61
62 new ActivationCredentials("fi", "2663459", "PM22500000000000000001009").toAuthentication();
63
64
65 String tempCorporateId = ("tmp-" + Integer.toHexString(new Date().toString().hashCode())).toUpperCase(HttpHelper.DEFAULT_LOCALE);
66 ActivationCredentials activationCredentials = null;
67 Transport transport = new HttpUrlTrasport();
68 try {
69 logger.log("Test Activation");
70 ActivationSecurityInfo activationSecurityInfo =
71 new ActivationServiceSample(url, new SellerCredentials(CONSTANT_SE, tempCorporateId), transport).test();
72 logger.log("Successfully activated");
73
74 activationCredentials = new ActivationCredentials(CONSTANT_SE, tempCorporateId, activationSecurityInfo.getApiKey());
75
76 logger.log("Test security enabled by Seller %s", tempCorporateId);
77 new SellerServiceSample(url, activationCredentials, transport).testSecurityEnabled();
78
79 logger.log("Test server storage");
80 new ServerServiceSample(url, transport).test(jndi);
81
82 logger.log("Test handshake");
83 new AuthServiceSample(url, transport).test();
84
85 logger.log("Test Seller %s", tempCorporateId);
86 new SellerServiceSample(url, activationCredentials, transport).test();
87
88 logger.log("Test Taxes");
89 new TaxServiceSample(url, activationCredentials, transport).test();
90
91 logger.log("Test Categories");
92 new CategoryServiceSample(url, activationCredentials, transport).test();
93
94 logger.log(CONSTANT_TEST_PRODUCTS);
95 new ProductServiceSample(url, activationCredentials, transport).testPictures();
96
97 logger.log("Test Commodities");
98 new CommodityServiceSample(url, activationCredentials, transport).test();
99
100 logger.log("Test Seller pictures");
101 new SellerServiceSample(url, activationCredentials, transport).testPictures();
102
103 logger.log("Test Categories pictures");
104 new CategoryServiceSample(url, activationCredentials, transport).testPictures();
105
106 final OrderServiceSample orderServiceSample = new OrderServiceSample(url, activationCredentials, transport);
107
108 logger.log("Test sending Order");
109 orderServiceSample.testSendOrder();
110
111 logger.log("Test getting Order");
112 orderServiceSample.testGetOrder();
113
114 logger.log("Test putting Order");
115 orderServiceSample.testPutOrder();
116
117 logger.log("Test PosPlus");
118 new PosPlusServiceSample(url, activationCredentials, transport).test();
119
120 logger.log("Test Keyboard");
121 new KeyboardServiceSample(url, activationCredentials, transport).test();
122
123 logger.log("Test KeyboardEntry");
124 new KeyboardEntryServiceSample(url, activationCredentials, transport).test();
125
126 logger.log("Test Registration");
127 new RegistrationServiceSample(url, activationCredentials, transport).test();
128
129 logger.log("Test Restaurant");
130 new RestaurantServiceSample(url, activationCredentials, transport).test();
131
132 logger.log("Test Hairdresser");
133 new HairdresserServiceSample(url, activationCredentials, transport).test();
134
135 logger.log("Test Treasurer");
136 new TreasurerServiceSample(url, activationCredentials, transport).test();
137
138 logger.log("Test Booking");
139
140
141
142 logger.log("Test Customization");
143 new CustomizationServiceSample(url, activationCredentials, transport).test();
144
145 logger.log("Test Receipt Settings");
146 new ReceiptSettingsServiceSample(url, activationCredentials, transport).test();
147
148 logger.log("Test Sale");
149 new SaleServiceSample(url, activationCredentials, transport).test();
150
151 logger.log("Test Sale Slot");
152 new SaleSlotServiceSample(url, activationCredentials, transport).test();
153
154 logger.log("Test Precept");
155 new PreceptServiceSample(url, activationCredentials, transport).test();
156
157 logger.log("Test Synchronization");
158 new SynchronizationSample(url, activationCredentials, transport).test();
159
160 logger.log("Test Seller Modifications");
161 new SellerServiceSample(url, activationCredentials, transport).testSellerModifications();
162
163 } finally {
164 if (activationCredentials != null) {
165 logger.log("Deleting seller %s", tempCorporateId);
166 new SellerServiceSample(url, activationCredentials, transport).removeSeller(activationCredentials.getSellerId());
167 }
168 }
169 return tempCorporateId;
170 }
171
172 public static void main(String[] args) {
173 if (args.length < 2) {
174 out.println(String.format("Usage: java -jar server-api-%s.jar <url> true|false", Registry.VERSION));
175 out.println(" true - server reads settings from jndi");
176 out.println(" false - server uses default setting (database in memory)");
177 System.exit(2);
178 }
179 try {
180 new Diagnostics(Registry.wrap(args[0]), new PrintStreamLogger(out, true), Boolean.valueOf(args[1])).run();
181 out.println("\nEVERYTHING IS OK!!!");
182 System.exit(0);
183
184 } catch (Exception e) {
185 System.err.println(e.toString());
186 e.printStackTrace(System.err);
187 System.exit(1);
188
189 }
190 }
191
192 }