diff --git a/lib/CustomRequest/CustomRequest.rb b/lib/CustomRequest/CustomRequest.rb index d66adee..2102bd1 100644 --- a/lib/CustomRequest/CustomRequest.rb +++ b/lib/CustomRequest/CustomRequest.rb @@ -2,7 +2,7 @@ class CustomRequest < RequestBase - attr_accessor :method, :body, :route + attr_accessor :method, :body, :route, :headers # @route = "/v3/" def initialize(api_key, access_token) @@ -13,13 +13,13 @@ def initialize(api_key, access_token) def execute case @method when "GET" - return @http_helper.get(@route, @query_params) + return @http_helper.get(@route, @query_params, self.headers) when "POST" - return @http_helper.post(@route, @query_params, self.body) + return @http_helper.post(@route, @query_params, self.body, self.headers) when "PUT" - return @http_helper.put(@route, @query_params, self.body) + return @http_helper.put(@route, @query_params, self.body, self.headers) when "DELETE" - return @http_helper.delete(@route, @query_params) + return @http_helper.delete(@route, @query_params, self.headers) else raise "No appropriate HTTP method found for this request." end @@ -60,4 +60,9 @@ def with_body(body) return self end + def with_headers(headers) + self.headers = headers + return self + end + end \ No newline at end of file diff --git a/lib/Downloads/DownloadImages.rb b/lib/Downloads/DownloadImages.rb index 92ebebc..8b4f3be 100644 --- a/lib/Downloads/DownloadImages.rb +++ b/lib/Downloads/DownloadImages.rb @@ -2,7 +2,7 @@ class DownloadImages < RequestBase - attr_accessor :asset_id + attr_accessor :asset_id, :accept_language API_ROUTE = "/v3/downloads/images" # mashery endpoint QUERY_PARAMS_NAMES = ["file_type","height","product_id","product_type"] @@ -23,10 +23,16 @@ def with_id(asset_id) return self end + public + def with_accept_language(language) + @accept_language = {"Accept-Language" => language} + return self + end + def execute build_query_params("auto_download", "false") uri = API_ROUTE + "/" + self.asset_id - return @http_helper.post(uri, @query_params, nil) + return @http_helper.post(uri, @query_params, nil, accept_language) end end \ No newline at end of file diff --git a/lib/Downloads/DownloadVideos.rb b/lib/Downloads/DownloadVideos.rb index 337e09f..3c757ae 100644 --- a/lib/Downloads/DownloadVideos.rb +++ b/lib/Downloads/DownloadVideos.rb @@ -2,7 +2,7 @@ class DownloadVideos < RequestBase - attr_accessor :asset_id + attr_accessor :asset_id, :accept_language API_ROUTE = "/v3/downloads/videos" # mashery endpoint QUERY_PARAMS_NAMES = ["product_id","size"] @@ -23,10 +23,16 @@ def with_id(asset_id) return self end + public + def with_accept_language(language) + @accept_language = {"Accept-Language" => language} + return self + end + def execute build_query_params("auto_download", "false") uri = API_ROUTE + "/" + self.asset_id - return @http_helper.post(uri, @query_params, nil) + return @http_helper.post(uri, @query_params, nil, accept_language) end end \ No newline at end of file diff --git a/lib/HttpHelper.rb b/lib/HttpHelper.rb index 5efc124..187fe95 100644 --- a/lib/HttpHelper.rb +++ b/lib/HttpHelper.rb @@ -20,7 +20,7 @@ def get_uri(path) return URI.parse "#{Api_Host::API_BASE_URL}#{path}" end - def get(endpoint_path, query_params) + def get(endpoint_path, query_params, headers = nil) uri = get_uri(endpoint_path) #puts uri @@ -29,11 +29,11 @@ def get(endpoint_path, query_params) end #puts "REQUEST URI: #{uri.request_uri}" req = Net::HTTP::Get.new uri.request_uri - return send uri, req, @api_key, @access_token + return send uri, req, @api_key, @access_token, headers end - def post(endpoint_path, query_params, body) + def post(endpoint_path, query_params, body, headers = nil) uri = get_uri(endpoint_path) if !query_params.nil? @@ -44,11 +44,11 @@ def post(endpoint_path, query_params, body) req["Content-Type"] = "application/json" req.body = body.to_json end - return send uri, req, @api_key, @access_token + return send uri, req, @api_key, @access_token, headers end - def put(endpoint_path, query_params, body) + def put(endpoint_path, query_params, body, headers = nil) uri = get_uri(endpoint_path) if !query_params.nil? @@ -59,18 +59,18 @@ def put(endpoint_path, query_params, body) req["Content-Type"] = "application/json" req.body = body.to_json end - return send uri, req, @api_key, @access_token + return send uri, req, @api_key, @access_token, headers end - def delete(endpoint_path, query_params) + def delete(endpoint_path, query_params, headers = nil) uri = get_uri(endpoint_path) if !query_params.nil? uri.query = URI.encode_www_form query_params end req = Net::HTTP::Delete.new uri.request_uri - return send uri, req, @api_key, @access_token + return send uri, req, @api_key, @access_token, headers end @@ -93,7 +93,7 @@ def os end private - def send(uri, request, api_key, bearer_token = "") + def send(uri, request, api_key, bearer_token = "", headers) # define HTTPS connection https = Net::HTTP.new(uri.host, uri.port) @@ -101,6 +101,7 @@ def send(uri, request, api_key, bearer_token = "") https.verify_mode = OpenSSL::SSL::VERIFY_NONE # define headers + request.initialize_http_header(headers) request["User-Agent"] = "GettImagesApiSdk/#{GettyImagesApi::VERSION} (#{os} ; Ruby #{RUBY_VERSION})" request["Api-Key"] = api_key request["Authorization"] = "Bearer #{bearer_token}" unless bearer_token.empty? diff --git a/lib/Images/Images.rb b/lib/Images/Images.rb index d53e1d3..3be13e4 100644 --- a/lib/Images/Images.rb +++ b/lib/Images/Images.rb @@ -2,7 +2,7 @@ class Images < RequestBase - attr_accessor :asset_id + attr_accessor :asset_id, :accept_language API_ROUTE = "/v3/images" # mashery endpoint QUERY_PARAMS_NAMES = ["ids","fields"] @@ -24,10 +24,16 @@ def with_id(id) return self end + public + def with_accept_language(language) + @accept_language = {"Accept-Language" => language} + return self + end + public def execute self.asset_id.nil? ? uri = API_ROUTE : uri = API_ROUTE + "/" + self.asset_id - return @http_helper.get(uri, @query_params) + return @http_helper.get(uri, @query_params, @accept_language) end end \ No newline at end of file diff --git a/lib/Search/SearchImages.rb b/lib/Search/SearchImages.rb index dbeffbe..4d94d80 100644 --- a/lib/Search/SearchImages.rb +++ b/lib/Search/SearchImages.rb @@ -2,7 +2,9 @@ class SearchImages < RequestBase - API_ROUTE = "/v3/search/images" # mashery endpoint + attr_accessor :accept_language + + API_ROUTE = "/v3/search/images" # mashery endpoint QUERY_PARAMS_NAMES = ["age_of_people","artists","collection_codes","collections_filter_type","color","compositions","embed_content_only","ethnicity","event_ids","exclude_nudity","fields", "file_types","graphical_styles","keyword_ids","license_models","minimum_size","number_of_people","orientations","page","page_size","phrase","prestige_content_only","product_types", "sort_order","specific_people"] @@ -23,10 +25,15 @@ class SearchImages < RequestBase end return self end - end + end + + def with_accept_language(language) + @accept_language = {"Accept-Language" => language} + return self + end def execute - return @http_helper.get(API_ROUTE, @query_params) + return @http_helper.get(API_ROUTE, @query_params, @accept_language) end end diff --git a/lib/Search/SearchImagesCreative.rb b/lib/Search/SearchImagesCreative.rb index defbd03..8bc7346 100644 --- a/lib/Search/SearchImagesCreative.rb +++ b/lib/Search/SearchImagesCreative.rb @@ -2,6 +2,8 @@ class SearchImagesCreative < RequestBase + attr_accessor :accept_language + API_ROUTE = "/v3/search/images/creative" # mashery endpoint QUERY_PARAMS_NAMES = ["age_of_people","artists","collection_codes","collections_filter_type","color","compositions","embed_content_only","ethnicity","exclude_nudity","fields","file_types", "graphical_styles","keyword_ids","license_models","minimum_size","number_of_people","orientations","page","page_size","phrase","prestige_content_only","product_types", @@ -23,10 +25,15 @@ class SearchImagesCreative < RequestBase end return self end - end + end + + def with_accept_language(language) + @accept_language = {"Accept-Language" => language} + return self + end def execute - return @http_helper.get(API_ROUTE, @query_params) + return @http_helper.get(API_ROUTE, @query_params, @accept_language) end end \ No newline at end of file diff --git a/lib/Search/SearchImagesEditorial.rb b/lib/Search/SearchImagesEditorial.rb index 36ff51b..f1a021c 100644 --- a/lib/Search/SearchImagesEditorial.rb +++ b/lib/Search/SearchImagesEditorial.rb @@ -2,6 +2,8 @@ class SearchImagesEditorial < RequestBase + attr_accessor :accept_language + API_ROUTE = "/v3/search/images/editorial" # mashery endpoint QUERY_PARAMS_NAMES = ["age_of_people","artists","collection_codes","collections_filter_type","compositions","editorial_segments","embed_content_only","end_date","entity_uris","ethnicity", "event_ids","exclude_nudity","fields","file_types","graphical_styles","keyword_ids","minimum_quality_rank","minimum_size","number_of_people","orientations","page","page_size","phrase", @@ -23,10 +25,15 @@ class SearchImagesEditorial < RequestBase end return self end - end + end + def with_accept_language(language) + @accept_language = {"Accept-Language" => language} + return self + end + def execute - return @http_helper.get(API_ROUTE, @query_params) + return @http_helper.get(API_ROUTE, @query_params, @accept_language) end end \ No newline at end of file diff --git a/lib/Search/SearchVideos.rb b/lib/Search/SearchVideos.rb index d616983..df9491f 100644 --- a/lib/Search/SearchVideos.rb +++ b/lib/Search/SearchVideos.rb @@ -2,6 +2,8 @@ class SearchVideos < RequestBase + attr_accessor :accept_language + API_ROUTE = "/v3/search/videos" # mashery endpoint QUERY_PARAMS_NAMES = ["age_of_people","collection_codes","collections_filter_type","editorial_video_types","exclude_nudity","fields","format_available","frame_rates", "keyword_ids","license_models","page","page_size","phrase","product_types","sort_order","specific_people"] @@ -22,10 +24,15 @@ class SearchVideos < RequestBase end return self end - end + end + + def with_accept_language(language) + @accept_language = {"Accept-Language" => language} + return self + end def execute - return @http_helper.get(API_ROUTE, @query_params) + return @http_helper.get(API_ROUTE, @query_params, @accept_language) end end \ No newline at end of file diff --git a/lib/Search/SearchVideosCreative.rb b/lib/Search/SearchVideosCreative.rb index 5570dc3..f32e1e9 100644 --- a/lib/Search/SearchVideosCreative.rb +++ b/lib/Search/SearchVideosCreative.rb @@ -2,6 +2,8 @@ class SearchVideosCreative < RequestBase + attr_accessor :accept_language + API_ROUTE = "/v3/search/videos/creative" # mashery endpoint QUERY_PARAMS_NAMES = ["age_of_people","collection_codes","collections_filter_type","exclude_nudity","fields","format_available","frame_rates", "keyword_ids","license_models","page","page_size","phrase","product_types","sort_order"] @@ -22,10 +24,15 @@ class SearchVideosCreative < RequestBase end return self end - end + end + + def with_accept_language(language) + @accept_language = {"Accept-Language" => language} + return self + end def execute - return @http_helper.get(API_ROUTE, @query_params) + return @http_helper.get(API_ROUTE, @query_params, @accept_language) end end \ No newline at end of file diff --git a/lib/Search/SearchVideosEditorial.rb b/lib/Search/SearchVideosEditorial.rb index 96f8210..1f574ad 100644 --- a/lib/Search/SearchVideosEditorial.rb +++ b/lib/Search/SearchVideosEditorial.rb @@ -2,6 +2,8 @@ class SearchVideosEditorial < RequestBase + attr_accessor :accept_language + API_ROUTE = "/v3/search/videos/editorial" # mashery endpoint QUERY_PARAMS_NAMES = ["age_of_people","collection_codes","collections_filter_type","editorial_video_types","entity_uris","exclude_nudity","fields","format_available","frame_rates", "keyword_ids","page","page_size","phrase","product_types","sort_order","specific_people"] @@ -24,8 +26,13 @@ class SearchVideosEditorial < RequestBase end end + def with_accept_language(language) + @accept_language = {"Accept-Language" => language} + return self + end + def execute - return @http_helper.get(API_ROUTE, @query_params) + return @http_helper.get(API_ROUTE, @query_params, @accept_language) end end \ No newline at end of file diff --git a/lib/Videos/Videos.rb b/lib/Videos/Videos.rb index a915b19..7149d00 100644 --- a/lib/Videos/Videos.rb +++ b/lib/Videos/Videos.rb @@ -2,7 +2,7 @@ class Videos < RequestBase - attr_accessor :asset_id + attr_accessor :asset_id, :accept_language API_ROUTE = "/v3/videos" # mashery endpoint QUERY_PARAMS_NAMES = ["ids","fields"] @@ -24,10 +24,16 @@ def with_id(id) return self end + public + def with_accept_language(language) + @accept_language = {"Accept-Language" => language} + return self + end + public def execute self.asset_id.nil? ? uri = API_ROUTE : uri = API_ROUTE + "/" + self.asset_id - return @http_helper.get(uri, @query_params) + return @http_helper.get(uri, @query_params, @accept_language) end end \ No newline at end of file diff --git a/unit_tests/CustomRequestsTests.rb b/unit_tests/CustomRequestsTests.rb index 5dd5a60..1db6a32 100644 --- a/unit_tests/CustomRequestsTests.rb +++ b/unit_tests/CustomRequestsTests.rb @@ -78,4 +78,66 @@ def test_custom_request_delete_with_body assert_equal({"message" => "success"}, results.to_hash ) end + def test_custom_request_get_with_headers + stub_request(:get, "https://api.gettyimages.com/v3/search/images").with(headers: {"Accept-Language" => "de"}).with(query: {"phrase" => "cat", "fields" => ["id", "title"].join(",")}) + .to_return(body: '{ "message": "success" }') + + apiClient = ApiClient.new("api key", "api secret") + results = apiClient.custom_request() + .with_method("GET") + .with_route("search/images") + .with_query_parameters({"phrase"=> "cat", "fields"=> ["id", "title"]}) + .with_headers({"Accept-Language" => "de"}) + .execute() + + assert_equal({"message" => "success"}, results.to_hash ) + end + + def test_custom_request_post_with_headers + stub_request(:post, "https://api.gettyimages.com/v3/downloads/images").with(headers: {"Accept-Language" => "de"}).with(body: '{"body":"this body"}') + .to_return(body: '{ "message": "success" }') + + apiClient = ApiClient.new("api key", "api secret") + results = apiClient.custom_request() + .with_method("POST") + .with_route("downloads/images") + .with_body({"body"=> "this body"}) + .with_headers({"Accept-Language" => "de"}) + .execute() + + assert_equal({"message" => "success"}, results.to_hash ) + end + + + def test_custom_request_put_with_headers + stub_request(:put, "https://api.gettyimages.com/v3/boards").with(headers: {"Accept-Language" => "de"}).with(body: '{"body":"this body"}') + .to_return(body: '{ "message": "success" }') + + apiClient = ApiClient.new("api key", "api secret") + results = apiClient.custom_request() + .with_method("PUT") + .with_route("boards") + .with_body({"body"=> "this body"}) + .with_headers({"Accept-Language" => "de"}) + .execute() + + assert_equal({"message" => "success"}, results.to_hash ) + end + + + def test_custom_request_delete_with_headers + stub_request(:delete, "https://api.gettyimages.com/v3/boards/123/assets").with(headers: {"Accept-Language" => "de"}).with(query: {"asset_ids" => ["456", "789"].join(",")}) + .to_return(body: '{ "message": "success" }') + + apiClient = ApiClient.new("api key", "api secret") + results = apiClient.custom_request() + .with_method("DELETE") + .with_route("boards/123/assets") + .with_query_parameters("asset_ids" => ["456", "789"]) + .with_headers({"Accept-Language" => "de"}) + .execute() + + assert_equal({"message" => "success"}, results.to_hash ) + end + end \ No newline at end of file diff --git a/unit_tests/DownloadImagesTests.rb b/unit_tests/DownloadImagesTests.rb index 1469713..d39b5a3 100644 --- a/unit_tests/DownloadImagesTests.rb +++ b/unit_tests/DownloadImagesTests.rb @@ -21,6 +21,19 @@ def test_download_images_with_id assert_equal({"message" => "success"}, search_results.to_hash ) end + def test_download_images_with_id_with_accept_language + stub_request(:post, "https://api.gettyimages.com/v3/downloads/images/123").with(headers: {"Accept-Language" => "de"}).with(query: {"auto_download" => "false"}) + .to_return(body: '{ "message": "success" }') + + apiClient = ApiClient.new("api key", "api secret") + search_results = apiClient.download_images() + .with_id("123") + .with_accept_language("de") + .execute() + + assert_equal({"message" => "success"}, search_results.to_hash ) + end + def test_download_images_with_id_with_file_type stub_request(:post, "https://api.gettyimages.com/v3/downloads/images/123").with(query: {"auto_download" => "false", "file_type" => "jpg"}) .to_return(body: '{ "message": "success" }') diff --git a/unit_tests/DownloadVideosTests.rb b/unit_tests/DownloadVideosTests.rb index 5f6e2dc..db7983b 100644 --- a/unit_tests/DownloadVideosTests.rb +++ b/unit_tests/DownloadVideosTests.rb @@ -21,6 +21,19 @@ def test_download_videos_with_id assert_equal({"message" => "success"}, search_results.to_hash ) end + def test_download_videos_with_id_with_accept_language + stub_request(:post, "https://api.gettyimages.com/v3/downloads/videos/123").with(headers: {"Accept-Language" => "de"}).with(query: {"auto_download" => "false"}) + .to_return(body: '{ "message": "success" }') + + apiClient = ApiClient.new("api key", "api secret") + search_results = apiClient.download_videos() + .with_id("123") + .with_accept_language("de") + .execute() + + assert_equal({"message" => "success"}, search_results.to_hash ) + end + def test_download_videos_with_id_with_product_id stub_request(:post, "https://api.gettyimages.com/v3/downloads/videos/123").with(query: {"auto_download" => "false", "product_id" => "567"}) .to_return(body: '{ "message": "success" }') diff --git a/unit_tests/ImagesTests.rb b/unit_tests/ImagesTests.rb index b7652ab..2e03dc6 100644 --- a/unit_tests/ImagesTests.rb +++ b/unit_tests/ImagesTests.rb @@ -46,4 +46,17 @@ def test_images_with_ids_with_fields assert_equal({"message" => "success"}, search_results.to_hash ) end + def test_images_with_ids_with_accept_language + stub_request(:get, "https://api.gettyimages.com/v3/images").with(headers: {"Accept-Language" => "de"}).with(query: {"ids" => ["123","333"].join(",")}) + .to_return(body: '{ "message": "success" }') + + apiClient = ApiClient.new("api key", "api secret") + search_results = apiClient.images() + .with_ids(["123", "333"]) + .with_accept_language("de") + .execute() + + assert_equal({"message" => "success"}, search_results.to_hash ) + end + end \ No newline at end of file diff --git a/unit_tests/SearchImagesCreativeTests.rb b/unit_tests/SearchImagesCreativeTests.rb index 09ca967..d6702a9 100644 --- a/unit_tests/SearchImagesCreativeTests.rb +++ b/unit_tests/SearchImagesCreativeTests.rb @@ -9,6 +9,18 @@ def setup .to_return(status: 200, body: '{"access_token": "client_credentials_access_token", "token_types": "Bearer", "expires_in": "1800"}') end + def test_search_images_creative_with_accept_language + stub_request(:get, "https://api.gettyimages.com/v3/search/images/creative").with(headers: {"Accept-Language" => "de"}) + .to_return(body: '{ "message": "success" }') + + apiClient = ApiClient.new("api key", "api secret") + search_results = apiClient.search_images_creative() + .with_accept_language("de") + .execute() + + assert_equal({"message" => "success"}, search_results.to_hash ) + end + def test_search_images_creative_with_age_of_people stub_request(:get, "https://api.gettyimages.com/v3/search/images/creative").with(query: {"age_of_people" => ["newborn", "adult", "child"].join(",")}) .to_return(body: '{ "message": "success" }') diff --git a/unit_tests/SearchImagesEditorialTests.rb b/unit_tests/SearchImagesEditorialTests.rb index 23a9a0e..044951d 100644 --- a/unit_tests/SearchImagesEditorialTests.rb +++ b/unit_tests/SearchImagesEditorialTests.rb @@ -9,6 +9,18 @@ def setup .to_return(status: 200, body: '{"access_token": "client_credentials_access_token", "token_types": "Bearer", "expires_in": "1800"}') end + def test_search_images_editorial_with_accept_language + stub_request(:get, "https://api.gettyimages.com/v3/search/images/editorial").with(headers: {"Accept-Language" => "de"}) + .to_return(body: '{ "message": "success" }') + + apiClient = ApiClient.new("api key", "api secret") + search_results = apiClient.search_images_editorial() + .with_accept_language("de") + .execute() + + assert_equal({"message" => "success"}, search_results.to_hash ) + end + def test_search_images_editorial_with_age_of_people stub_request(:get, "https://api.gettyimages.com/v3/search/images/editorial").with(query: {"age_of_people" => ["newborn", "adult", "child"].join(",")}) .to_return(body: '{ "message": "success" }') diff --git a/unit_tests/SearchImagesTests.rb b/unit_tests/SearchImagesTests.rb index 7791342..261ea7b 100644 --- a/unit_tests/SearchImagesTests.rb +++ b/unit_tests/SearchImagesTests.rb @@ -10,6 +10,18 @@ def setup .to_return(status: 200, body: '{"access_token": "client_credentials_access_token", "token_types": "Bearer", "expires_in": "1800"}') end + def test_search_images_with_accept_language + stub_request(:get, "https://api.gettyimages.com/v3/search/images").with(headers: {"Accept-Language" => "de"}) + .to_return(body: '{ "message": "success" }') + + apiClient = ApiClient.new("api key", "api secret") + search_results = apiClient.search_images() + .with_accept_language("de") + .execute() + + assert_equal({"message" => "success"}, search_results.to_hash ) + end + def test_search_images_with_age_of_people stub_request(:get, "https://api.gettyimages.com/v3/search/images").with(query: {"age_of_people" => ["newborn", "adult", "child"].join(",")}) .to_return(body: '{ "message": "success" }') diff --git a/unit_tests/SearchVideosCreativeTests.rb b/unit_tests/SearchVideosCreativeTests.rb index 8859bcd..ee8d553 100644 --- a/unit_tests/SearchVideosCreativeTests.rb +++ b/unit_tests/SearchVideosCreativeTests.rb @@ -9,6 +9,18 @@ def setup .to_return(status: 200, body: '{"access_token": "client_credentials_access_token", "token_types": "Bearer", "expires_in": "1800"}') end + def test_search_videos_creative_with_accept_language + stub_request(:get, "https://api.gettyimages.com/v3/search/videos/creative").with(headers: {"Accept-Language" => "de"}) + .to_return(body: '{ "message": "success" }') + + apiClient = ApiClient.new("api key", "api secret") + search_results = apiClient.search_videos_creative() + .with_accept_language("de") + .execute() + + assert_equal({"message" => "success"}, search_results.to_hash ) + end + def test_search_videos_creative_with_age_of_people stub_request(:get, "https://api.gettyimages.com/v3/search/videos/creative").with(query: {"age_of_people" => ["newborn", "adult", "child"].join(",")}) .to_return(body: '{ "message": "success" }') diff --git a/unit_tests/SearchVideosEditorialTests.rb b/unit_tests/SearchVideosEditorialTests.rb index 42d131f..cf148dd 100644 --- a/unit_tests/SearchVideosEditorialTests.rb +++ b/unit_tests/SearchVideosEditorialTests.rb @@ -9,6 +9,18 @@ def setup .to_return(status: 200, body: '{"access_token": "client_credentials_access_token", "token_types": "Bearer", "expires_in": "1800"}') end + def test_search_videos_editorial_with_accept_language + stub_request(:get, "https://api.gettyimages.com/v3/search/videos/editorial").with(headers: {"Accept-Language" => "de"}) + .to_return(body: '{ "message": "success" }') + + apiClient = ApiClient.new("api key", "api secret") + search_results = apiClient.search_videos_editorial() + .with_accept_language("de") + .execute() + + assert_equal({"message" => "success"}, search_results.to_hash ) + end + def test_search_videos_editorial_with_age_of_people stub_request(:get, "https://api.gettyimages.com/v3/search/videos/editorial").with(query: {"age_of_people" => ["newborn", "adult", "child"].join(",")}) .to_return(body: '{ "message": "success" }') diff --git a/unit_tests/SearchVideosTests.rb b/unit_tests/SearchVideosTests.rb index 05b89e0..2f08a00 100644 --- a/unit_tests/SearchVideosTests.rb +++ b/unit_tests/SearchVideosTests.rb @@ -9,6 +9,18 @@ def setup .to_return(status: 200, body: '{"access_token": "client_credentials_access_token", "token_types": "Bearer", "expires_in": "1800"}') end + def test_search_videos_with_accept_language + stub_request(:get, "https://api.gettyimages.com/v3/search/videos").with(headers: {"Accept-Language" => "de"}) + .to_return(body: '{ "message": "success" }') + + apiClient = ApiClient.new("api key", "api secret") + search_results = apiClient.search_videos() + .with_accept_language("de") + .execute() + + assert_equal({"message" => "success"}, search_results.to_hash ) + end + def test_search_videos_with_age_of_people stub_request(:get, "https://api.gettyimages.com/v3/search/videos").with(query: {"age_of_people" => ["newborn", "adult", "child"].join(",")}) .to_return(body: '{ "message": "success" }') diff --git a/unit_tests/VideosTests.rb b/unit_tests/VideosTests.rb index 157e1f9..6ef1e6f 100644 --- a/unit_tests/VideosTests.rb +++ b/unit_tests/VideosTests.rb @@ -46,4 +46,17 @@ def test_videos_with_ids_with_fields assert_equal({"message" => "success"}, search_results.to_hash ) end + def test_videos_with_ids_with_accept_language + stub_request(:get, "https://api.gettyimages.com/v3/videos").with(headers: {"Accept-Language" => "de"}).with(query: {"ids" => ["123","333"].join(",")}) + .to_return(body: '{ "message": "success" }') + + apiClient = ApiClient.new("api key", "api secret") + search_results = apiClient.videos() + .with_ids(["123", "333"]) + .with_accept_language("de") + .execute() + + assert_equal({"message" => "success"}, search_results.to_hash ) + end + end \ No newline at end of file