@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());
    }
  }