## # This code was generated by # \ / _ _ _| _ _ # | (_)\/(_)(_|\/| |(/_ v1.0.0 # / / # # frozen_string_literal: true require 'spec_helper.rb' describe 'Composition' do it "can fetch" do @holodeck.mock(Twilio::Response.new(500, '')) expect { @client.video.v1.compositions('CJXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch() }.to raise_exception(Twilio::REST::TwilioError) values = {} expect( @holodeck.has_request?(Holodeck::Request.new( method: 'get', url: 'https://video.twilio.com/v1/Compositions/CJXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', ))).to eq(true) end it "receives fetch responses" do @holodeck.mock(Twilio::Response.new( 200, %q[ { "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "status": "completed", "date_created": "2015-07-30T20:00:00Z", "date_completed": "2015-07-30T20:01:33Z", "date_deleted": null, "sid": "CJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "room_sid": "RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "audio_sources": [ "PAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "user*" ], "audio_sources_excluded": [ "RTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ], "video_layout": { "grid": { "video_sources": [ "*" ], "video_sources_excluded": [ "MTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ], "reuse": "show_oldest", "x_pos": 100, "y_pos": 600, "z_pos": 10, "width": 0, "height": 0, "max_columns": 0, "max_rows": 0, "cells_excluded": [] }, "pip": { "video_sources": [ "RTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab" ], "video_sources_excluded": [], "reuse": "none", "x_pos": 100, "y_pos": 600, "z_pos": 10, "width": 0, "height": 0, "max_columns": 0, "max_rows": 0, "cells_excluded": [] } }, "resolution": "1280x720", "format": "webm", "bitrate": 64, "size": 4, "duration": 6, "trim": true, "media_external_location": null, "encryption_key": null, "url": "https://video.twilio.com/v1/Compositions/CJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "links": { "media": "https://video.twilio.com/v1/Compositions/CJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Media" } } ] )) actual = @client.video.v1.compositions('CJXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch() expect(actual).to_not eq(nil) end it "can read" do @holodeck.mock(Twilio::Response.new(500, '')) expect { @client.video.v1.compositions.list() }.to raise_exception(Twilio::REST::TwilioError) values = {} expect( @holodeck.has_request?(Holodeck::Request.new( method: 'get', url: 'https://video.twilio.com/v1/Compositions', ))).to eq(true) end it "receives read_enqueued responses" do @holodeck.mock(Twilio::Response.new( 200, %q[ { "compositions": [], "meta": { "page": 0, "page_size": 10, "first_page_url": "https://video.twilio.com/v1/Compositions?Status=enqueued&PageSize=10&Page=0", "previous_page_url": null, "url": "https://video.twilio.com/v1/Compositions?Status=enqueued&PageSize=10&Page=0", "next_page_url": null, "key": "compositions" } } ] )) actual = @client.video.v1.compositions.list() expect(actual).to_not eq(nil) end it "receives read_empty responses" do @holodeck.mock(Twilio::Response.new( 200, %q[ { "compositions": [], "meta": { "page": 0, "page_size": 50, "first_page_url": "https://video.twilio.com/v1/Compositions?Status=completed&PageSize=50&Page=0", "previous_page_url": null, "url": "https://video.twilio.com/v1/Compositions?Status=completed&PageSize=50&Page=0", "next_page_url": null, "key": "compositions" } } ] )) actual = @client.video.v1.compositions.list() expect(actual).to_not eq(nil) end it "receives read_results responses" do @holodeck.mock(Twilio::Response.new( 200, %q[ { "compositions": [ { "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "status": "completed", "date_created": "2015-07-30T20:00:00Z", "date_completed": "2015-07-30T20:01:33Z", "date_deleted": null, "sid": "CJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "room_sid": "RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "audio_sources": [ "RTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "user*" ], "audio_sources_excluded": [], "video_layout": { "grid": { "video_sources": [ "user*" ], "video_sources_excluded": [], "reuse": "show_oldest", "x_pos": 100, "y_pos": 600, "z_pos": 10, "width": 0, "height": 0, "max_columns": 0, "max_rows": 0, "cells_excluded": [] }, "pip": { "video_sources": [ "RTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab" ], "video_sources_excluded": [], "reuse": "none", "x_pos": 100, "y_pos": 600, "z_pos": 10, "width": 0, "height": 0, "max_columns": 0, "max_rows": 0, "cells_excluded": [] } }, "resolution": "1280x720", "format": "webm", "bitrate": 64, "size": 4, "duration": 6, "trim": true, "media_external_location": null, "encryption_key": null, "url": "https://video.twilio.com/v1/Compositions/CJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "links": { "media": "https://video.twilio.com/v1/Compositions/CJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Media" } } ], "meta": { "page": 0, "page_size": 50, "first_page_url": "https://video.twilio.com/v1/Compositions?Status=completed&RoomSid=RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&DateCreatedAfter=2017-01-01T00%3A00%3A01Z&DateCreatedBefore=2017-12-31T23%3A59%3A59Z&PageSize=50&Page=0", "previous_page_url": null, "url": "https://video.twilio.com/v1/Compositions?Status=completed&RoomSid=RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&DateCreatedAfter=2017-01-01T00%3A00%3A01Z&DateCreatedBefore=2017-12-31T23%3A59%3A59Z&PageSize=50&Page=0", "next_page_url": null, "key": "compositions" } } ] )) actual = @client.video.v1.compositions.list() expect(actual).to_not eq(nil) end it "can delete" do @holodeck.mock(Twilio::Response.new(500, '')) expect { @client.video.v1.compositions('CJXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').delete() }.to raise_exception(Twilio::REST::TwilioError) values = {} expect( @holodeck.has_request?(Holodeck::Request.new( method: 'delete', url: 'https://video.twilio.com/v1/Compositions/CJXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', ))).to eq(true) end it "receives delete responses" do @holodeck.mock(Twilio::Response.new( 204, nil, )) actual = @client.video.v1.compositions('CJXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').delete() expect(actual).to eq(true) end it "can create" do @holodeck.mock(Twilio::Response.new(500, '')) expect { @client.video.v1.compositions.create(room_sid: 'RMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') }.to raise_exception(Twilio::REST::TwilioError) values = {'RoomSid' => 'RMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', } expect( @holodeck.has_request?(Holodeck::Request.new( method: 'post', url: 'https://video.twilio.com/v1/Compositions', data: values, ))).to eq(true) end it "receives create responses" do @holodeck.mock(Twilio::Response.new( 201, %q[ { "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "status": "processing", "date_created": "2015-07-30T20:00:00Z", "date_completed": null, "date_deleted": null, "sid": "CJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "room_sid": "RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "audio_sources": [ "RTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "user*" ], "audio_sources_excluded": [ "RTbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ], "video_layout": { "custom": { "video_sources": [ "user*" ], "video_sources_excluded": [ "RTcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ], "reuse": "show_oldest", "x_pos": 100, "y_pos": 600, "z_pos": 10, "width": 800, "height": 0, "max_columns": 0, "max_rows": 0, "cells_excluded": [ 2, 3 ] } }, "trim": true, "format": "mp4", "resolution": "1920x1080", "bitrate": 0, "size": 0, "duration": 0, "media_external_location": null, "encryption_key": null, "url": "https://video.twilio.com/v1/Compositions/CJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "links": { "media": "https://video.twilio.com/v1/Compositions/CJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Media" } } ] )) actual = @client.video.v1.compositions.create(room_sid: 'RMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') expect(actual).to_not eq(nil) end end