text: # coding=utf-8
  r"""
  This code was generated by
  \ / _    _  _|   _  _
   | (_)\/(_)(_|\/| |(/_  v1.0.0
        /       /
  """
  
  from tests import IntegrationTestCase
  from tests.holodeck import Request
  from twilio.base.exceptions import TwilioException
  from twilio.http.response import Response
  
  
  class UserTestCase(IntegrationTestCase):
  
      def test_create_request(self):
          self.holodeck.mock(Response(500, ''))
  
          with self.assertRaises(TwilioException):
              self.client.conversations.v1.services("ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") \
                                          .users.create(identity="identity", x_twilio_webhook_enabled="true")
  
          values = {'Identity': "identity", }
  
          headers = {'X-Twilio-Webhook-Enabled': "true", }
          self.holodeck.assert_has_request(Request(
              'post',
              'https://conversations.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Users',
              headers=headers,
          ))
          self.holodeck.assert_has_request(Request(
              'post',
              'https://conversations.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Users',
              data=values,
          ))
  
      def test_create_response(self):
          self.holodeck.mock(Response(
              201,
              '''
              {
                  "sid": "USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                  "chat_service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                  "role_sid": "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                  "identity": "admin",
                  "friendly_name": "name",
                  "attributes": "{ \\"duty\\": \\"tech\\" }",
                  "is_online": null,
                  "date_created": "2019-12-16T22:18:37Z",
                  "date_updated": "2019-12-16T22:18:38Z",
                  "url": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Users/USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
              }
              '''
          ))
  
          actual = self.client.conversations.v1.services("ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") \
                                               .users.create(identity="identity")
  
          self.assertIsNotNone(actual)
  
      def test_update_request(self):
          self.holodeck.mock(Response(500, ''))
  
          with self.assertRaises(TwilioException):
              self.client.conversations.v1.services("ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") \
                                          .users("USXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX").update(x_twilio_webhook_enabled="true")
  
          headers = {'X-Twilio-Webhook-Enabled': "true", }
          self.holodeck.assert_has_request(Request(
              'post',
              'https://conversations.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Users/USXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
              headers=headers,
          ))
  
      def test_update_response(self):
          self.holodeck.mock(Response(
              200,
              '''
              {
                  "sid": "USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                  "chat_service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                  "role_sid": "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                  "identity": "admin",
                  "friendly_name": "new name",
                  "attributes": "{ \\"duty\\": \\"tech\\", \\"team\\": \\"internals\\" }",
                  "is_online": null,
                  "date_created": "2019-12-16T22:18:37Z",
                  "date_updated": "2019-12-16T22:18:38Z",
                  "url": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Users/USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
              }
              '''
          ))
  
          actual = self.client.conversations.v1.services("ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") \
                                               .users("USXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX").update()
  
          self.assertIsNotNone(actual)
  
      def test_delete_request(self):
          self.holodeck.mock(Response(500, ''))
  
          with self.assertRaises(TwilioException):
              self.client.conversations.v1.services("ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") \
                                          .users("USXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX").delete(x_twilio_webhook_enabled="true")
  
          headers = {'X-Twilio-Webhook-Enabled': "true", }
          self.holodeck.assert_has_request(Request(
              'delete',
              'https://conversations.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Users/USXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
              headers=headers,
          ))
  
      def test_delete_response(self):
          self.holodeck.mock(Response(
              204,
              None,
          ))
  
          actual = self.client.conversations.v1.services("ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") \
                                               .users("USXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX").delete()
  
          self.assertTrue(actual)
  
      def test_fetch_request(self):
          self.holodeck.mock(Response(500, ''))
  
          with self.assertRaises(TwilioException):
              self.client.conversations.v1.services("ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") \
                                          .users("USXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX").fetch()
  
          self.holodeck.assert_has_request(Request(
              'get',
              'https://conversations.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Users/USXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
          ))
  
      def test_fetch_response(self):
          self.holodeck.mock(Response(
              200,
              '''
              {
                  "sid": "USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                  "chat_service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                  "role_sid": "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                  "identity": "admin",
                  "friendly_name": "name",
                  "attributes": "{ \\"duty\\": \\"tech\\" }",
                  "is_online": null,
                  "date_created": "2019-12-16T22:18:37Z",
                  "date_updated": "2019-12-16T22:18:38Z",
                  "url": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Users/USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
              }
              '''
          ))
  
          actual = self.client.conversations.v1.services("ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") \
                                               .users("USXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX").fetch()
  
          self.assertIsNotNone(actual)
  
      def test_list_request(self):
          self.holodeck.mock(Response(500, ''))
  
          with self.assertRaises(TwilioException):
              self.client.conversations.v1.services("ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") \
                                          .users.list()
  
          self.holodeck.assert_has_request(Request(
              'get',
              'https://conversations.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Users',
          ))
  
      def test_read_full_response(self):
          self.holodeck.mock(Response(
              200,
              '''
              {
                  "meta": {
                      "page": 0,
                      "page_size": 50,
                      "first_page_url": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Users?PageSize=50&Page=0",
                      "previous_page_url": null,
                      "url": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Users?PageSize=50&Page=0",
                      "next_page_url": null,
                      "key": "users"
                  },
                  "users": [
                      {
                          "sid": "USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                          "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                          "chat_service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                          "role_sid": "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                          "identity": "admin",
                          "friendly_name": "name",
                          "attributes": "{ \\"duty\\": \\"tech\\" }",
                          "is_online": null,
                          "date_created": "2019-12-16T22:18:37Z",
                          "date_updated": "2019-12-16T22:18:38Z",
                          "url": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Users/USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
                      },
                      {
                          "sid": "USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                          "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                          "chat_service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                          "role_sid": "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                          "identity": "agent0034",
                          "friendly_name": "John from customs",
                          "attributes": "{ \\"duty\\": \\"agent\\" }",
                          "is_online": false,
                          "date_created": "2020-03-24T20:38:21Z",
                          "date_updated": "2020-03-24T20:38:21Z",
                          "url": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Users/USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
                      }
                  ]
              }
              '''
          ))
  
          actual = self.client.conversations.v1.services("ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") \
                                               .users.list()
  
          self.assertIsNotNone(actual)
  