Module: WikidataAdaptor::TestHelpers::RestApi
- Includes:
- Aliases, Descriptions, Items, Labels, OpenApiDocument, Properties, PropertyDataTypes, SearchItem, SearchProperty, Sitelinks, Statements
- Defined in:
- lib/wikidata_adaptor/test_helpers/rest_api.rb,
lib/wikidata_adaptor/test_helpers/rest_api/items.rb,
lib/wikidata_adaptor/test_helpers/rest_api/labels.rb,
lib/wikidata_adaptor/test_helpers/rest_api/aliases.rb,
lib/wikidata_adaptor/test_helpers/rest_api/sitelinks.rb,
lib/wikidata_adaptor/test_helpers/rest_api/properties.rb,
lib/wikidata_adaptor/test_helpers/rest_api/statements.rb,
lib/wikidata_adaptor/test_helpers/rest_api/search_item.rb,
lib/wikidata_adaptor/test_helpers/rest_api/descriptions.rb,
lib/wikidata_adaptor/test_helpers/rest_api/search_property.rb,
lib/wikidata_adaptor/test_helpers/rest_api/support/support.rb,
lib/wikidata_adaptor/test_helpers/rest_api/open_api_document.rb,
lib/wikidata_adaptor/test_helpers/rest_api/property_data_types.rb
Overview
WebMock stubs for the Wikibase REST API
Include this module in your RSpec tests to access stub methods for all Wikibase REST API endpoints.
Defined Under Namespace
Modules: Aliases, Descriptions, Items, Labels, OpenApiDocument, Properties, PropertyDataTypes, SearchItem, SearchProperty, Sitelinks, Statements, Support
Constant Summary collapse
- WIKIBASE_REST_ENDPOINT =
Default test endpoint for stubbed requests
ENV["WIKIBASE_REST_ENDPOINT"] || "https://test.test/w/rest.php/wikibase"
Instance Method Summary collapse
-
#stub_rest_api_request(method, path, with: {}, response_status: 200, response_headers: {}, response_body: {}, session: nil) ⇒ WebMock::RequestStub
Stub a Wikibase REST API request with WebMock.
Methods included from SearchProperty
#stub_search_properties, #stub_suggest_properties
Methods included from SearchItem
#stub_search_items, #stub_suggest_items
Methods included from PropertyDataTypes
Methods included from Statements
#stub_delete_item_statement, #stub_delete_item_statement_unexpected_error, #stub_delete_property_statement, #stub_delete_property_statement_unexpected_error, #stub_delete_statement, #stub_delete_statement_unexpected_error, #stub_get_item_statement, #stub_get_item_statements, #stub_get_property_statement, #stub_get_property_statements, #stub_get_statement, #stub_patch_item_statement, #stub_patch_item_statement_unexpected_error, #stub_patch_property_statement, #stub_patch_property_statement_unexpected_error, #stub_patch_statement, #stub_patch_statement_unexpected_error, #stub_post_item_statement, #stub_post_item_statement_unexpected_error, #stub_post_property_statement, #stub_post_property_statement_unexpected_error, #stub_put_item_statement, #stub_put_item_statement_unexpected_error, #stub_put_property_statement, #stub_put_property_statement_unexpected_error, #stub_put_statement, #stub_put_statement_unexpected_error
Methods included from Descriptions
#stub_delete_item_description, #stub_delete_item_description_unexpected_error, #stub_delete_property_description, #stub_delete_property_description_unexpected_error, #stub_get_item_description, #stub_get_item_description_with_language_fallback, #stub_get_item_description_with_language_fallback_redirect, #stub_get_item_descriptions, #stub_get_property_description, #stub_get_property_description_with_language_fallback, #stub_get_property_description_with_language_fallback_redirect, #stub_get_property_descriptions, #stub_patch_item_descriptions, #stub_patch_item_descriptions_unexpected_error, #stub_patch_property_descriptions, #stub_patch_property_descriptions_unexpected_error, #stub_put_item_description, #stub_put_item_description_unexpected_error, #stub_put_property_description, #stub_put_property_description_unexpected_error
Methods included from Labels
#stub_delete_item_label, #stub_delete_item_label_unexpected_error, #stub_delete_property_label, #stub_delete_property_label_unexpected_error, #stub_get_item_label, #stub_get_item_label_with_language_fallback, #stub_get_item_label_with_language_fallback_redirect, #stub_get_item_labels, #stub_get_property_label, #stub_get_property_label_with_language_fallback, #stub_get_property_label_with_language_fallback_redirect, #stub_get_property_labels, #stub_patch_item_labels, #stub_patch_item_labels_unexpected_error, #stub_patch_property_labels, #stub_patch_property_labels_unexpected_error, #stub_put_item_label, #stub_put_item_label_unexpected_error, #stub_put_property_label, #stub_put_property_label_unexpected_error
Methods included from Properties
#stub_get_property, #stub_get_property_invalid_property, #stub_get_property_not_found, #stub_get_property_unexpected_error, #stub_patch_property, #stub_patch_property_unexpected_error, #stub_post_property, #stub_post_property_access_denied, #stub_post_property_data_policy_violation, #stub_post_property_invalid_property, #stub_post_property_request_limit_reached, #stub_post_property_unexpected_error
Methods included from Support
#load_openapi_spec, #load_path_example, #posted_item_payload_fixture, #posted_item_response_fixture, #posted_property_payload_fixture, #posted_property_response_fixture
Methods included from Sitelinks
#stub_delete_item_sitelink, #stub_delete_item_sitelink_unexpected_error, #stub_get_item_sitelink, #stub_get_item_sitelinks, #stub_patch_item_sitelinks, #stub_patch_item_sitelinks_unexpected_error, #stub_put_item_sitelink, #stub_put_item_sitelink_unexpected_error
Methods included from Items
#stub_get_item, #stub_get_item_invalid_item, #stub_get_item_not_found, #stub_get_item_unexpected_error, #stub_patch_item, #stub_patch_item_unexpected_error, #stub_post_item, #stub_post_item_access_denied, #stub_post_item_data_policy_violation, #stub_post_item_invalid_item, #stub_post_item_request_limit_reached, #stub_post_item_unexpected_error
Methods included from Aliases
#stub_get_item_alias, #stub_get_item_aliases, #stub_get_property_alias, #stub_get_property_aliases, #stub_patch_item_aliases, #stub_patch_item_aliases_unexpected_error, #stub_patch_property_aliases, #stub_patch_property_aliases_unexpected_error, #stub_post_item_aliases, #stub_post_item_aliases_created, #stub_post_item_aliases_unexpected_error, #stub_post_property_aliases, #stub_post_property_aliases_created, #stub_post_property_aliases_unexpected_error
Methods included from OpenApiDocument
Instance Method Details
#stub_rest_api_request(method, path, with: {}, response_status: 200, response_headers: {}, response_body: {}, session: nil) ⇒ WebMock::RequestStub
Stub a Wikibase REST API request with WebMock
This is the base method used by all specific stub_* helpers. Use the specific stub methods instead of calling this directly.
64 65 66 67 68 69 70 71 72 73 |
# File 'lib/wikidata_adaptor/test_helpers/rest_api.rb', line 64 def stub_rest_api_request(method, path, with: {}, response_status: 200, response_headers: {}, response_body: {}, session: nil) with.merge!(headers: { WikidataAdaptor::RestApi::AUTH_HEADER_NAME => session }) if session session = nil if response_status >= 400 to_return = { status: response_status, headers: response_headers, body: prepare_response(response_body, session) } if with.empty? stub_request(method, "#{WIKIBASE_REST_ENDPOINT}#{path}").to_return(**to_return) else stub_request(method, "#{WIKIBASE_REST_ENDPOINT}#{path}").with(**with).to_return(**to_return) end end |