@Test public void testUnregisterCustomers() { try { CustomerManagementService customerManagement = getCustomerManagementService(); EntityList<JsonEntity> customerList = customerManagement.getCustomers(); for (JsonEntity customer : customerList) { String customerId = "" + customer.getAsLong("Id"); String customerType = customer.getAsString("CustomerType"); if (!"RESELLER".equals(customerType)) { try { System.out.println("Unregistering: " + customerId); customerManagement.unregisterCustomer(customerId); JsonEntity jsonEntity = customerManagement.getCustomerById(customerId); Assert.assertNull("Able to retrieve unregistered customer: " + customerId, jsonEntity); System.out.println("Unregistered: " + customerId); } catch (BssException be) { JsonJavaObject jsonObject = be.getResponseJson(); System.out.println(jsonObject); Assert.fail("Error unregistering customer caused by: " + jsonObject); } } } } catch (Exception e) { e.printStackTrace(); Assert.fail("Error unregistering customers caused by: " + e.getMessage()); } }
@Test public void testRegisterCustomer() { try { CustomerJsonBuilder customer = new CustomerJsonBuilder(); customer .setOrgName("Abe Industrial") .setPhone("999-999-9999") .setOrganizationAddressLine1("5 Technology Park Drive") .setOrganizationAddressLine2("") .setOrganizationAddressType(CustomerManagementService.AddressType.MAILING) .setOrganizationCity("Westford") .setOrganizationCountry("United States") .setOrganizationPostalCode("01866") .setOrganizationState("Massachusetts") .setContactFamilyName("Ninty") .setContactGivenName("Joe") .setContactEmailAddress(getUniqueEmail()) .setContactNamePrefix("Mr") .setContactEmployeeNumber("6A77777") .setContactLanguagePreference("EN_US") .setContactWorkPhone("800-555-1234") .setContactMobilePhone("800-555-2345") .setContactHomePhone("800-555-3456") .setContactFax("800-555-4567") .setContactJobTitle("Director") .setContactWebSiteAddress("joeninty.example.com") .setContactTimeZone("America/Central") .setContactPhoto("") .setCustomerAccountNumber("0000123457") .setCustomerAccountLocationName("Westford Lab") .setCustomerAccountPaymentMethodType(CustomerManagementService.PaymentMethodType.INVOICE) .setCustomerAccountCurrencyType("USD") .setCustomerIdentifierType(CustomerManagementService.CustomerIdType.IBM_CUSTOMER_NUMBER) .setCustomerIdentifierValue("9999999999"); JsonJavaObject response = getCustomerManagementService().registerCustomer(customer); long customerId = response.getAsLong("Long"); Assert.assertNotNull("Invalid customer id", customerId); System.out.println(customerId); } catch (BssException be) { JsonJavaObject jsonObject = be.getResponseJson(); System.err.println(jsonObject); // be.printStackTrace(); Assert.fail("Error registering customer because: " + jsonObject); } catch (Exception e) { e.printStackTrace(); Assert.fail("Error registering customer caused by: " + e.getMessage()); } }
@Test public void testUpdateSubscriberProfile() { try { registerCustomer(); String subscriberId = addSubscriber(); SubscriberManagementService subscriberManagement = getSubscriberManagementService(); JsonEntity jsonEntity = subscriberManagement.getSubscriberById(subscriberId); Assert.assertNotNull("Unable to retrieve subscriber: " + subscriberId, jsonEntity); Assert.assertEquals( subscriberId, subscriberManagement.getSubscriberId(jsonEntity.getJsonObject())); JsonJavaObject rootObject = jsonEntity.getJsonObject(); Assert.assertNotNull("Unable to retrieve subscriber: " + subscriberId, rootObject); System.out.println(rootObject); JsonJavaObject subscriberObject = rootObject.getAsObject("Subscriber"); JsonJavaObject personObject = subscriberObject.getAsObject("Person"); personObject.putString("GivenName", "Fred"); personObject.putString("WorkPhone", "800-666-1234"); subscriberManagement.updateSubscribeProfile(rootObject); jsonEntity = subscriberManagement.getSubscriberById(subscriberId); Assert.assertNotNull("Unable to retrieve subscriber: " + subscriberId, jsonEntity); Assert.assertEquals( subscriberId, subscriberManagement.getSubscriberId(jsonEntity.getJsonObject())); rootObject = jsonEntity.getJsonObject(); Assert.assertNotNull("Unable to retrieve subscriber: " + subscriberId, subscriberObject); System.out.println(rootObject); subscriberObject = rootObject.getAsObject("Subscriber"); personObject = subscriberObject.getAsObject("Person"); Assert.assertEquals("Fred", personObject.getAsString("GivenName")); Assert.assertEquals("800-666-1234", personObject.getAsString("WorkPhone")); } catch (BssException be) { JsonJavaObject jsonObject = be.getResponseJson(); System.out.println(jsonObject); Assert.fail("Error updating subscriber profile caused by: " + jsonObject); } catch (Exception e) { e.printStackTrace(); Assert.fail("Error updating subscriber profile caused by: " + e.getMessage()); } }
@Test public void testRegisterCustomerBadRequest() { try { CustomerJsonBuilder customer = new CustomerJsonBuilder(); customer.setOrgName("Test Enterprise").setPhone("999-999-9999"); getCustomerManagementService().registerCustomer(customer); Assert.fail("Expected bad request response"); } catch (BssException be) { // expecting this exception JsonJavaObject jsonObject = be.getResponseJson(); System.err.println(jsonObject); Assert.assertNotNull("Expected JSON response", jsonObject); Assert.assertEquals("400", be.getResponseCode()); Assert.assertEquals( "The [LocationName] field requires a string value.", be.getResponseMessage()); Assert.assertEquals("Error", be.getSeverity()); Assert.assertEquals( "Provide a valid string value for the [LocationName] field.", be.getUserAction()); Assert.assertEquals("BZSAP1033E", be.getMessageId()); } catch (Exception e) { e.printStackTrace(); Assert.fail("Error registering customer caused by: " + e.getMessage()); } }
@Test public void testSetOneTimePasswordBadRequest() { try { String subscriberId = addSubscriber(); JsonEntity subscriber = getSubscriberById(subscriberId); String loginName = subscriber.getAsString("Subscriber/Person/EmailAddress"); System.out.println(loginName); UserCredentialJsonBuilder userCredential = new UserCredentialJsonBuilder(); userCredential.setStrict(false); userCredential.setLoginName("").setNewPassword("new_password"); System.out.println(userCredential.toJson()); AuthenticationService authenticationService = getAuthenticationService(); authenticationService.setOneTimePassword(userCredential); Assert.fail("Expected bad request response"); } catch (BssException be) { // expecting this exception JsonJavaObject jsonObject = be.getResponseJson(); System.err.println(jsonObject); Assert.assertNotNull("Expected JSON response", jsonObject); Assert.assertEquals("400", be.getResponseCode()); Assert.assertNotNull(be.getResponseMessage()); Assert.assertEquals("Error", be.getSeverity()); Assert.assertNotNull(be.getUserAction()); Assert.assertNotNull(be.getMessageId()); } catch (Exception e) { e.printStackTrace(); Assert.fail("Error changing password caused by: " + e.getMessage()); } }
@Test public void testSuspendCustomer() { try { String customerId = registerCustomer(); CustomerManagementService customerManagement = getCustomerManagementService(); JsonEntity jsonEntity = customerManagement.getCustomerById(customerId); Assert.assertNotNull("Unable to retrieve customer: " + customerId, jsonEntity); Assert.assertEquals(customerId, customerManagement.getCustomerId(jsonEntity.getJsonObject())); customerManagement.suspendCustomer(customerId); jsonEntity = customerManagement.getCustomerById(customerId); Assert.assertNotNull("Unable to retrieve customer: " + customerId, jsonEntity); JsonJavaObject rootObject = jsonEntity.getJsonObject(); JsonJavaObject customerObject = rootObject.getAsObject("Customer"); System.out.println(customerObject); Assert.assertNotNull("No SuspensionDate", customerObject.get("SuspensionDate")); customerManagement.unsuspendCustomer(customerId); jsonEntity = customerManagement.getCustomerById(customerId); Assert.assertNotNull("Unable to retrieve customer: " + customerId, jsonEntity); rootObject = jsonEntity.getJsonObject(); customerObject = rootObject.getAsObject("Customer"); System.out.println(customerObject); Assert.assertNull("SuspensionDate", customerObject.get("SuspensionDate")); Assert.assertEquals("ACTIVE", customerObject.get("CustomerState")); } catch (BssException be) { JsonJavaObject jsonObject = be.getResponseJson(); System.out.println(jsonObject); Assert.fail("Error suspending customer caused by: " + jsonObject); } catch (Exception e) { e.printStackTrace(); Assert.fail("Error suspending customer caused by: " + e.getMessage()); } }
@Test public void testSetOneTimePassword() { try { String subscriberId = addSubscriber(); JsonEntity subscriber = getSubscriberById(subscriberId); String loginName = subscriber.getAsString("Subscriber/Person/EmailAddress"); System.out.println(loginName); UserCredentialJsonBuilder userCredential = new UserCredentialJsonBuilder(); userCredential.setLoginName(loginName).setNewPassword("one_time_passw0rd"); System.out.println(userCredential.toJson()); AuthenticationService authenticationService = getAuthenticationService(); authenticationService.setOneTimePassword(userCredential); } catch (BssException be) { JsonJavaObject jsonObject = be.getResponseJson(); System.err.println(jsonObject); Assert.fail("Error setting one time password because: " + jsonObject); } catch (Exception e) { e.printStackTrace(); Assert.fail("Error setting one time password caused by: " + e.getMessage()); } }