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 ExecutionTestCase(IntegrationTestCase):
  
      def test_list_request(self):
          self.holodeck.mock(Response(500, ''))
  
          with self.assertRaises(TwilioException):
              self.client.studio.v2.flows("FWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") \
                                   .executions.list()
  
          self.holodeck.assert_has_request(Request(
              'get',
              'https://studio.twilio.com/v2/Flows/FWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Executions',
          ))
  
      def test_read_empty_response(self):
          self.holodeck.mock(Response(
              200,
              '''
              {
                  "meta": {
                      "previous_page_url": null,
                      "next_page_url": null,
                      "url": "https://studio.twilio.com/v2/Flows/FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Executions?PageSize=50&Page=0",
                      "page": 0,
                      "first_page_url": "https://studio.twilio.com/v2/Flows/FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Executions?PageSize=50&Page=0",
                      "page_size": 50,
                      "key": "executions"
                  },
                  "executions": []
              }
              '''
          ))
  
          actual = self.client.studio.v2.flows("FWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") \
                                        .executions.list()
  
          self.assertIsNotNone(actual)
  
      def test_fetch_request(self):
          self.holodeck.mock(Response(500, ''))
  
          with self.assertRaises(TwilioException):
              self.client.studio.v2.flows("FWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") \
                                   .executions("FNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX").fetch()
  
          self.holodeck.assert_has_request(Request(
              'get',
              'https://studio.twilio.com/v2/Flows/FWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Executions/FNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
          ))
  
      def test_fetch_response(self):
          self.holodeck.mock(Response(
              200,
              '''
              {
                  "sid": "FNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                  "flow_sid": "FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                  "contact_channel_address": "+14155555555",
                  "status": "ended",
                  "context": {},
                  "date_created": "2017-11-06T12:00:00Z",
                  "date_updated": null,
                  "url": "https://studio.twilio.com/v2/Flows/FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Executions/FNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                  "links": {
                      "steps": "https://studio.twilio.com/v2/Flows/FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Executions/FNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Steps",
                      "execution_context": "https://studio.twilio.com/v2/Flows/FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Executions/FNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Context"
                  }
              }
              '''
          ))
  
          actual = self.client.studio.v2.flows("FWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") \
                                        .executions("FNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX").fetch()
  
          self.assertIsNotNone(actual)
  
      def test_create_request(self):
          self.holodeck.mock(Response(500, ''))
  
          with self.assertRaises(TwilioException):
              self.client.studio.v2.flows("FWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") \
                                   .executions.create(to="+15558675310", from_="+15017122661")
  
          values = {'To': "+15558675310", 'From': "+15017122661", }
  
          self.holodeck.assert_has_request(Request(
              'post',
              'https://studio.twilio.com/v2/Flows/FWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Executions',
              data=values,
          ))
  
      def test_create_response(self):
          self.holodeck.mock(Response(
              201,
              '''
              {
                  "url": "https://studio.twilio.com/v2/Flows/FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Executions/FNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                  "sid": "FNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                  "flow_sid": "FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                  "context": {},
                  "contact_channel_address": "+18001234567",
                  "status": "active",
                  "date_created": "2015-07-30T20:00:00Z",
                  "date_updated": "2015-07-30T20:00:00Z",
                  "links": {
                      "steps": "https://studio.twilio.com/v2/Flows/FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Executions/FNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Steps",
                      "execution_context": "https://studio.twilio.com/v2/Flows/FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Executions/FNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Context"
                  }
              }
              '''
          ))
  
          actual = self.client.studio.v2.flows("FWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") \
                                        .executions.create(to="+15558675310", from_="+15017122661")
  
          self.assertIsNotNone(actual)
  
      def test_delete_request(self):
          self.holodeck.mock(Response(500, ''))
  
          with self.assertRaises(TwilioException):
              self.client.studio.v2.flows("FWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") \
                                   .executions("FNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX").delete()
  
          self.holodeck.assert_has_request(Request(
              'delete',
              'https://studio.twilio.com/v2/Flows/FWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Executions/FNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
          ))
  
      def test_delete_response(self):
          self.holodeck.mock(Response(
              204,
              None,
          ))
  
          actual = self.client.studio.v2.flows("FWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") \
                                        .executions("FNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX").delete()
  
          self.assertTrue(actual)
  
      def test_update_request(self):
          self.holodeck.mock(Response(500, ''))
  
          with self.assertRaises(TwilioException):
              self.client.studio.v2.flows("FWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") \
                                   .executions("FNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX").update(status="active")
  
          values = {'Status': "active", }
  
          self.holodeck.assert_has_request(Request(
              'post',
              'https://studio.twilio.com/v2/Flows/FWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Executions/FNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
              data=values,
          ))
  
      def test_update_response(self):
          self.holodeck.mock(Response(
              200,
              '''
              {
                  "url": "https://studio.twilio.com/v2/Flows/FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Executions/FNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                  "sid": "FNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                  "flow_sid": "FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                  "context": {},
                  "contact_channel_address": "+14155555555",
                  "status": "ended",
                  "date_created": "2017-11-06T12:00:00Z",
                  "date_updated": "2017-11-06T12:00:00Z",
                  "links": {
                      "steps": "https://studio.twilio.com/v2/Flows/FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Executions/FNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Steps",
                      "execution_context": "https://studio.twilio.com/v2/Flows/FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Executions/FNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Context"
                  }
              }
              '''
          ))
  
          actual = self.client.studio.v2.flows("FWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") \
                                        .executions("FNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX").update(status="active")
  
          self.assertIsNotNone(actual)
  