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