Class: DatadogAPIClient::V2::TestOptimizationAPI

Inherits:
Object
  • Object
show all
Defined in:
lib/datadog_api_client/v2/api/test_optimization_api.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_client = DatadogAPIClient::APIClient.default) ⇒ TestOptimizationAPI



22
23
24
# File 'lib/datadog_api_client/v2/api/test_optimization_api.rb', line 22

def initialize(api_client = DatadogAPIClient::APIClient.default)
  @api_client = api_client
end

Instance Attribute Details

#api_clientObject

Returns the value of attribute api_client.



20
21
22
# File 'lib/datadog_api_client/v2/api/test_optimization_api.rb', line 20

def api_client
  @api_client
end

Instance Method Details

#search_flaky_tests(opts = {}) ⇒ Object

Search flaky tests.



29
30
31
32
# File 'lib/datadog_api_client/v2/api/test_optimization_api.rb', line 29

def search_flaky_tests(opts = {})
  data, _status_code, _headers = search_flaky_tests_with_http_info(opts)
  data
end

#search_flaky_tests_with_http_info(opts = {}) ⇒ Array<(FlakyTestsSearchResponse, Integer, Hash)>

Search flaky tests.

List endpoint returning flaky tests from Flaky Test Management. Results are paginated.

Options Hash (opts):



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# File 'lib/datadog_api_client/v2/api/test_optimization_api.rb', line 41

def search_flaky_tests_with_http_info(opts = {})
  unstable_enabled = @api_client.config.unstable_operations["v2.search_flaky_tests".to_sym]
  if unstable_enabled
    @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.search_flaky_tests")
  else
    raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.search_flaky_tests"))
  end

  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: TestOptimizationAPI.search_flaky_tests ...'
  end
  # resource path
  local_var_path = '/api/v2/test/flaky-test-management/tests'

  # query parameters
  query_params = opts[:query_params] || {}

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  # HTTP header 'Content-Type'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'body'])

  # return_type
  return_type = opts[:debug_return_type] || 'FlakyTestsSearchResponse'

  # auth_names
  auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]

  new_options = opts.merge(
    :operation => :search_flaky_tests,
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => return_type,
    :api_version => "V2"
  )

  data, status_code, headers = @api_client.call_api(Net::HTTP::Post, local_var_path, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: TestOptimizationAPI#search_flaky_tests\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end

#search_flaky_tests_with_pagination(opts = {}) {|FlakyTest| ... } ⇒ Object

Search flaky tests.

Provide a paginated version of #search_flaky_tests, returning all items.

To use it you need to use a block: search_flaky_tests_with_pagination { |item| p item }

Yields:



102
103
104
105
106
107
108
109
110
111
112
113
114
# File 'lib/datadog_api_client/v2/api/test_optimization_api.rb', line 102

def search_flaky_tests_with_pagination(opts = {})
    api_version = "V2"
    page_size = @api_client.get_attribute_from_path(opts, "body.data.attributes.page.limit", 10)
    @api_client.set_attribute_from_path(api_version, opts, "body.data.attributes.page.limit", FlakyTestsSearchRequest, page_size)
    while true do
        response = search_flaky_tests(opts)
        @api_client.get_attribute_from_path(response, "data").each { |item| yield(item) }
        if @api_client.get_attribute_from_path(response, "data").length < page_size
          break
        end
        @api_client.set_attribute_from_path(api_version, opts, "body.data.attributes.page.cursor", FlakyTestsSearchRequest, @api_client.get_attribute_from_path(response, "meta.pagination.next_page"))
    end
end