apimatTCTD 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE +28 -0
- data/README.md +86 -0
- data/lib/ctd_documentation/api_helper.rb +10 -0
- data/lib/ctd_documentation/client.rb +140 -0
- data/lib/ctd_documentation/configuration.rb +103 -0
- data/lib/ctd_documentation/controllers/activities_controller.rb +69 -0
- data/lib/ctd_documentation/controllers/alerts_controller.rb +170 -0
- data/lib/ctd_documentation/controllers/assets_controller.rb +409 -0
- data/lib/ctd_documentation/controllers/base_controller.rb +65 -0
- data/lib/ctd_documentation/controllers/custom_attributes_categories_controller.rb +50 -0
- data/lib/ctd_documentation/controllers/events_controller.rb +67 -0
- data/lib/ctd_documentation/controllers/groups_controller.rb +28 -0
- data/lib/ctd_documentation/controllers/insights_controller.rb +111 -0
- data/lib/ctd_documentation/controllers/license_controller.rb +73 -0
- data/lib/ctd_documentation/controllers/login_controller.rb +31 -0
- data/lib/ctd_documentation/controllers/queries_controller.rb +128 -0
- data/lib/ctd_documentation/controllers/sensors_controller.rb +26 -0
- data/lib/ctd_documentation/controllers/sites_controller.rb +39 -0
- data/lib/ctd_documentation/controllers/tasks_controller.rb +148 -0
- data/lib/ctd_documentation/controllers/tasks_queries_controller.rb +29 -0
- data/lib/ctd_documentation/controllers/users_controller.rb +28 -0
- data/lib/ctd_documentation/exceptions/api_exception.rb +10 -0
- data/lib/ctd_documentation/exceptions/auth_authenticate401_error_exception.rb +48 -0
- data/lib/ctd_documentation/http/auth/custom_header_auth.rb +25 -0
- data/lib/ctd_documentation/http/http_call_back.rb +10 -0
- data/lib/ctd_documentation/http/http_method_enum.rb +10 -0
- data/lib/ctd_documentation/http/http_request.rb +10 -0
- data/lib/ctd_documentation/http/http_response.rb +10 -0
- data/lib/ctd_documentation/models/actionable.rb +70 -0
- data/lib/ctd_documentation/models/actionable_asset.rb +80 -0
- data/lib/ctd_documentation/models/actionable_cap.rb +80 -0
- data/lib/ctd_documentation/models/actionable_information.rb +80 -0
- data/lib/ctd_documentation/models/actionable_policy.rb +361 -0
- data/lib/ctd_documentation/models/actionable_related_asset.rb +142 -0
- data/lib/ctd_documentation/models/active_history.rb +311 -0
- data/lib/ctd_documentation/models/activities_object.rb +150 -0
- data/lib/ctd_documentation/models/activities_response.rb +100 -0
- data/lib/ctd_documentation/models/activity.rb +150 -0
- data/lib/ctd_documentation/models/add_license_response.rb +79 -0
- data/lib/ctd_documentation/models/alert.rb +455 -0
- data/lib/ctd_documentation/models/alert_severity_enum.rb +23 -0
- data/lib/ctd_documentation/models/asset.rb +527 -0
- data/lib/ctd_documentation/models/assets_with_insights.rb +252 -0
- data/lib/ctd_documentation/models/assets_with_insights_response.rb +90 -0
- data/lib/ctd_documentation/models/authenticate.rb +57 -0
- data/lib/ctd_documentation/models/base_model.rb +58 -0
- data/lib/ctd_documentation/models/base_task.rb +198 -0
- data/lib/ctd_documentation/models/cap.rb +90 -0
- data/lib/ctd_documentation/models/code_sections.rb +70 -0
- data/lib/ctd_documentation/models/content_type_enum.rb +14 -0
- data/lib/ctd_documentation/models/create_a_new_query.rb +57 -0
- data/lib/ctd_documentation/models/create_a_new_query_response.rb +57 -0
- data/lib/ctd_documentation/models/create_group_response.rb +48 -0
- data/lib/ctd_documentation/models/create_user_response.rb +48 -0
- data/lib/ctd_documentation/models/createanewtask.rb +57 -0
- data/lib/ctd_documentation/models/createanewtask_response.rb +57 -0
- data/lib/ctd_documentation/models/ctd_login_exception.rb +81 -0
- data/lib/ctd_documentation/models/ctd_login_response.rb +101 -0
- data/lib/ctd_documentation/models/custom_attribute_category.rb +90 -0
- data/lib/ctd_documentation/models/db_statistics.rb +50 -0
- data/lib/ctd_documentation/models/delete_a_query_response.rb +48 -0
- data/lib/ctd_documentation/models/delete_a_task_response.rb +48 -0
- data/lib/ctd_documentation/models/destination_virtual_zone.rb +60 -0
- data/lib/ctd_documentation/models/detail.rb +60 -0
- data/lib/ctd_documentation/models/discovery_params.rb +82 -0
- data/lib/ctd_documentation/models/entity.rb +70 -0
- data/lib/ctd_documentation/models/event.rb +175 -0
- data/lib/ctd_documentation/models/find_asset_by_id_response.rb +547 -0
- data/lib/ctd_documentation/models/format1_enum.rb +22 -0
- data/lib/ctd_documentation/models/format_enum.rb +20 -0
- data/lib/ctd_documentation/models/get_active_detection_history_response.rb +90 -0
- data/lib/ctd_documentation/models/get_alerts_response.rb +90 -0
- data/lib/ctd_documentation/models/get_all_sites_response.rb +90 -0
- data/lib/ctd_documentation/models/get_assets_response.rb +90 -0
- data/lib/ctd_documentation/models/get_custom_attribute_categories_response.rb +90 -0
- data/lib/ctd_documentation/models/get_events_response.rb +90 -0
- data/lib/ctd_documentation/models/get_license_details_response.rb +81 -0
- data/lib/ctd_documentation/models/get_queries_ids_and_assigned_task_response.rb +70 -0
- data/lib/ctd_documentation/models/get_queries_response.rb +90 -0
- data/lib/ctd_documentation/models/get_tasks_response.rb +90 -0
- data/lib/ctd_documentation/models/get_types_response.rb +57 -0
- data/lib/ctd_documentation/models/group.rb +73 -0
- data/lib/ctd_documentation/models/identifiable.rb +70 -0
- data/lib/ctd_documentation/models/indicator_info.rb +90 -0
- data/lib/ctd_documentation/models/indicators.rb +122 -0
- data/lib/ctd_documentation/models/information.rb +183 -0
- data/lib/ctd_documentation/models/insight_status_enum.rb +20 -0
- data/lib/ctd_documentation/models/insight_status_exact1_enum.rb +21 -0
- data/lib/ctd_documentation/models/insight_status_exact_enum.rb +20 -0
- data/lib/ctd_documentation/models/license_request.rb +48 -0
- data/lib/ctd_documentation/models/network.rb +80 -0
- data/lib/ctd_documentation/models/new_queryobject.rb +199 -0
- data/lib/ctd_documentation/models/new_taskobject.rb +199 -0
- data/lib/ctd_documentation/models/object.rb +70 -0
- data/lib/ctd_documentation/models/paginated_response.rb +71 -0
- data/lib/ctd_documentation/models/policy.rb +331 -0
- data/lib/ctd_documentation/models/queryextraparams.rb +60 -0
- data/lib/ctd_documentation/models/ranger_system_check_response.rb +57 -0
- data/lib/ctd_documentation/models/risk_vector.rb +89 -0
- data/lib/ctd_documentation/models/selection_params.rb +58 -0
- data/lib/ctd_documentation/models/selection_params1.rb +80 -0
- data/lib/ctd_documentation/models/site.rb +256 -0
- data/lib/ctd_documentation/models/site_list_slim_enum.rb +14 -0
- data/lib/ctd_documentation/models/slim_insight.rb +139 -0
- data/lib/ctd_documentation/models/sort1_enum.rb +65 -0
- data/lib/ctd_documentation/models/sort31_enum.rb +59 -0
- data/lib/ctd_documentation/models/sort3_enum.rb +59 -0
- data/lib/ctd_documentation/models/sort41_enum.rb +41 -0
- data/lib/ctd_documentation/models/sort4_enum.rb +41 -0
- data/lib/ctd_documentation/models/sort5_enum.rb +35 -0
- data/lib/ctd_documentation/models/sort6_enum.rb +41 -0
- data/lib/ctd_documentation/models/sort_enum.rb +125 -0
- data/lib/ctd_documentation/models/source_virtual_zone.rb +60 -0
- data/lib/ctd_documentation/models/special_hint_enum.rb +26 -0
- data/lib/ctd_documentation/models/special_hint_exact_enum.rb +26 -0
- data/lib/ctd_documentation/models/status_enum.rb +17 -0
- data/lib/ctd_documentation/models/status_exact_enum.rb +23 -0
- data/lib/ctd_documentation/models/subnet.rb +50 -0
- data/lib/ctd_documentation/models/task.rb +281 -0
- data/lib/ctd_documentation/models/taskextraparams.rb +71 -0
- data/lib/ctd_documentation/models/update_a_single_query_response.rb +57 -0
- data/lib/ctd_documentation/models/update_a_single_task_response.rb +57 -0
- data/lib/ctd_documentation/models/update_license_response.rb +79 -0
- data/lib/ctd_documentation/models/user.rb +88 -0
- data/lib/ctd_documentation/models/virtual_zones.rb +118 -0
- data/lib/ctd_documentation/utilities/date_time_helper.rb +11 -0
- data/lib/ctd_documentation/utilities/file_wrapper.rb +16 -0
- data/lib/ctd_documentation.rb +155 -0
- data/test/controllers/controller_test_base.rb +29 -0
- data/test/controllers/test_activities_controller.rb +64 -0
- data/test/controllers/test_alerts_controller.rb +16 -0
- data/test/controllers/test_assets_controller.rb +79 -0
- data/test/controllers/test_custom_attributes_categories_controller.rb +52 -0
- data/test/controllers/test_events_controller.rb +55 -0
- data/test/controllers/test_login_controller.rb +45 -0
- data/test/controllers/test_queries_controller.rb +292 -0
- data/test/controllers/test_sites_controller.rb +53 -0
- data/test/controllers/test_tasks_controller.rb +250 -0
- data/test/http_response_catcher.rb +19 -0
- metadata +259 -0
@@ -0,0 +1,118 @@
|
|
1
|
+
# ctd_documentation
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module CtdDocumentation
|
7
|
+
# VirtualZones Model.
|
8
|
+
class VirtualZones < BaseModel
|
9
|
+
SKIP = Object.new
|
10
|
+
private_constant :SKIP
|
11
|
+
|
12
|
+
# TODO: Write general description for this method
|
13
|
+
# @return [DestinationVirtualZone]
|
14
|
+
attr_accessor :destination_virtual_zone
|
15
|
+
|
16
|
+
# TODO: Write general description for this method
|
17
|
+
# @return [DestinationVirtualZone]
|
18
|
+
attr_accessor :source_virtual_zone
|
19
|
+
|
20
|
+
# TODO: Write general description for this method
|
21
|
+
# @return [Integer]
|
22
|
+
attr_accessor :destination_virtual_zone_id
|
23
|
+
|
24
|
+
# TODO: Write general description for this method
|
25
|
+
# @return [Integer]
|
26
|
+
attr_accessor :source_virtual_zone_id
|
27
|
+
|
28
|
+
# TODO: Write general description for this method
|
29
|
+
# @return [Integer]
|
30
|
+
attr_accessor :policy_id
|
31
|
+
|
32
|
+
# TODO: Write general description for this method
|
33
|
+
# @return [Integer]
|
34
|
+
attr_accessor :id
|
35
|
+
|
36
|
+
# TODO: Write general description for this method
|
37
|
+
# @return [Integer]
|
38
|
+
attr_accessor :site_id
|
39
|
+
|
40
|
+
# A mapping from model property names to API property names.
|
41
|
+
def self.names
|
42
|
+
@_hash = {} if @_hash.nil?
|
43
|
+
@_hash['destination_virtual_zone'] = 'destination_virtual_zone'
|
44
|
+
@_hash['source_virtual_zone'] = 'source_virtual_zone'
|
45
|
+
@_hash['destination_virtual_zone_id'] = 'destination_virtual_zone_id'
|
46
|
+
@_hash['source_virtual_zone_id'] = 'source_virtual_zone_id'
|
47
|
+
@_hash['policy_id'] = 'policy_id'
|
48
|
+
@_hash['id'] = 'id'
|
49
|
+
@_hash['site_id'] = 'site_id'
|
50
|
+
@_hash
|
51
|
+
end
|
52
|
+
|
53
|
+
# An array for optional fields
|
54
|
+
def self.optionals
|
55
|
+
%w[
|
56
|
+
destination_virtual_zone
|
57
|
+
source_virtual_zone
|
58
|
+
destination_virtual_zone_id
|
59
|
+
source_virtual_zone_id
|
60
|
+
policy_id
|
61
|
+
id
|
62
|
+
site_id
|
63
|
+
]
|
64
|
+
end
|
65
|
+
|
66
|
+
# An array for nullable fields
|
67
|
+
def self.nullables
|
68
|
+
[]
|
69
|
+
end
|
70
|
+
|
71
|
+
def initialize(destination_virtual_zone = SKIP,
|
72
|
+
source_virtual_zone = SKIP,
|
73
|
+
destination_virtual_zone_id = SKIP,
|
74
|
+
source_virtual_zone_id = SKIP,
|
75
|
+
policy_id = SKIP,
|
76
|
+
id = SKIP,
|
77
|
+
site_id = SKIP)
|
78
|
+
@destination_virtual_zone = destination_virtual_zone unless destination_virtual_zone == SKIP
|
79
|
+
@source_virtual_zone = source_virtual_zone unless source_virtual_zone == SKIP
|
80
|
+
unless destination_virtual_zone_id == SKIP
|
81
|
+
@destination_virtual_zone_id =
|
82
|
+
destination_virtual_zone_id
|
83
|
+
end
|
84
|
+
@source_virtual_zone_id = source_virtual_zone_id unless source_virtual_zone_id == SKIP
|
85
|
+
@policy_id = policy_id unless policy_id == SKIP
|
86
|
+
@id = id unless id == SKIP
|
87
|
+
@site_id = site_id unless site_id == SKIP
|
88
|
+
end
|
89
|
+
|
90
|
+
# Creates an instance of the object from a hash.
|
91
|
+
def self.from_hash(hash)
|
92
|
+
return nil unless hash
|
93
|
+
|
94
|
+
# Extract variables from the hash.
|
95
|
+
if hash['destination_virtual_zone']
|
96
|
+
destination_virtual_zone = DestinationVirtualZone.from_hash(hash['destination_virtual_zone'])
|
97
|
+
end
|
98
|
+
source_virtual_zone = DestinationVirtualZone.from_hash(hash['source_virtual_zone']) if
|
99
|
+
hash['source_virtual_zone']
|
100
|
+
destination_virtual_zone_id =
|
101
|
+
hash.key?('destination_virtual_zone_id') ? hash['destination_virtual_zone_id'] : SKIP
|
102
|
+
source_virtual_zone_id =
|
103
|
+
hash.key?('source_virtual_zone_id') ? hash['source_virtual_zone_id'] : SKIP
|
104
|
+
policy_id = hash.key?('policy_id') ? hash['policy_id'] : SKIP
|
105
|
+
id = hash.key?('id') ? hash['id'] : SKIP
|
106
|
+
site_id = hash.key?('site_id') ? hash['site_id'] : SKIP
|
107
|
+
|
108
|
+
# Create object from extracted values.
|
109
|
+
VirtualZones.new(destination_virtual_zone,
|
110
|
+
source_virtual_zone,
|
111
|
+
destination_virtual_zone_id,
|
112
|
+
source_virtual_zone_id,
|
113
|
+
policy_id,
|
114
|
+
id,
|
115
|
+
site_id)
|
116
|
+
end
|
117
|
+
end
|
118
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# ctd_documentation
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
require 'date'
|
7
|
+
module CtdDocumentation
|
8
|
+
# A utility that supports dateTime conversion to different formats
|
9
|
+
class DateTimeHelper < CoreLibrary::DateTimeHelper
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# ctd_documentation
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module CtdDocumentation
|
7
|
+
# A utility to allow users to set the content-type for files
|
8
|
+
class FileWrapper < CoreLibrary::FileWrapper
|
9
|
+
# The constructor.
|
10
|
+
# @param [File] file The file to be sent in the request.
|
11
|
+
# @param [string] content_type The content type of the provided file.
|
12
|
+
def initialize(file, content_type: 'application/octet-stream')
|
13
|
+
super
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,155 @@
|
|
1
|
+
# ctd_documentation
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
require 'date'
|
7
|
+
require 'json'
|
8
|
+
require 'apimatic_core_interfaces'
|
9
|
+
require 'apimatic_core'
|
10
|
+
require 'apimatic_faraday_client_adapter'
|
11
|
+
# rubocop:disable Style/MixinUsage
|
12
|
+
include CoreLibrary
|
13
|
+
# rubocop:enable Style/MixinUsage
|
14
|
+
|
15
|
+
require_relative 'ctd_documentation/api_helper'
|
16
|
+
require_relative 'ctd_documentation/client'
|
17
|
+
|
18
|
+
# Utilities
|
19
|
+
require_relative 'ctd_documentation/utilities/file_wrapper'
|
20
|
+
require_relative 'ctd_documentation/utilities/date_time_helper'
|
21
|
+
|
22
|
+
# Http
|
23
|
+
require_relative 'ctd_documentation/http/http_call_back'
|
24
|
+
require_relative 'ctd_documentation/http/http_method_enum'
|
25
|
+
require_relative 'ctd_documentation/http/http_request'
|
26
|
+
require_relative 'ctd_documentation/http/http_response'
|
27
|
+
require_relative 'ctd_documentation/http/auth/custom_header_auth'
|
28
|
+
|
29
|
+
# Models
|
30
|
+
require_relative 'ctd_documentation/models/base_model'
|
31
|
+
require_relative 'ctd_documentation/models/paginated_response'
|
32
|
+
require_relative 'ctd_documentation/models/alert'
|
33
|
+
require_relative 'ctd_documentation/models/asset'
|
34
|
+
require_relative 'ctd_documentation/models/assets_with_insights_response'
|
35
|
+
require_relative 'ctd_documentation/models/assets_with_insights'
|
36
|
+
require_relative 'ctd_documentation/models/activity'
|
37
|
+
require_relative 'ctd_documentation/models/subnet'
|
38
|
+
require_relative 'ctd_documentation/models/network'
|
39
|
+
require_relative 'ctd_documentation/models/policy'
|
40
|
+
require_relative 'ctd_documentation/models/actionable'
|
41
|
+
require_relative 'ctd_documentation/models/actionable_cap'
|
42
|
+
require_relative 'ctd_documentation/models/actionable_policy'
|
43
|
+
require_relative 'ctd_documentation/models/actionable_information'
|
44
|
+
require_relative 'ctd_documentation/models/actionable_asset'
|
45
|
+
require_relative 'ctd_documentation/models/identifiable'
|
46
|
+
require_relative 'ctd_documentation/models/code_sections'
|
47
|
+
require_relative 'ctd_documentation/models/indicators'
|
48
|
+
require_relative 'ctd_documentation/models/site'
|
49
|
+
require_relative 'ctd_documentation/models/base_task'
|
50
|
+
require_relative 'ctd_documentation/models/task'
|
51
|
+
require_relative 'ctd_documentation/models/new_queryobject'
|
52
|
+
require_relative 'ctd_documentation/models/new_taskobject'
|
53
|
+
require_relative 'ctd_documentation/models/taskextraparams'
|
54
|
+
require_relative 'ctd_documentation/models/queryextraparams'
|
55
|
+
require_relative 'ctd_documentation/models/active_history'
|
56
|
+
require_relative 'ctd_documentation/models/event'
|
57
|
+
require_relative 'ctd_documentation/models/custom_attribute_category'
|
58
|
+
require_relative 'ctd_documentation/models/add_license_response'
|
59
|
+
require_relative 'ctd_documentation/models/actionable_related_asset'
|
60
|
+
require_relative 'ctd_documentation/models/authenticate'
|
61
|
+
require_relative 'ctd_documentation/models/createanewtask'
|
62
|
+
require_relative 'ctd_documentation/models/create_a_new_query'
|
63
|
+
require_relative 'ctd_documentation/models/selection_params'
|
64
|
+
require_relative 'ctd_documentation/models/license_request'
|
65
|
+
require_relative 'ctd_documentation/models/user'
|
66
|
+
require_relative 'ctd_documentation/models/group'
|
67
|
+
require_relative 'ctd_documentation/models/cap'
|
68
|
+
require_relative 'ctd_documentation/models/create_a_new_query_response'
|
69
|
+
require_relative 'ctd_documentation/models/createanewtask_response'
|
70
|
+
require_relative 'ctd_documentation/models/create_group_response'
|
71
|
+
require_relative 'ctd_documentation/models/create_user_response'
|
72
|
+
require_relative 'ctd_documentation/models/ctd_login_exception'
|
73
|
+
require_relative 'ctd_documentation/models/ctd_login_response'
|
74
|
+
require_relative 'ctd_documentation/models/db_statistics'
|
75
|
+
require_relative 'ctd_documentation/models/delete_a_query_response'
|
76
|
+
require_relative 'ctd_documentation/models/delete_a_task_response'
|
77
|
+
require_relative 'ctd_documentation/models/destination_virtual_zone'
|
78
|
+
require_relative 'ctd_documentation/models/detail'
|
79
|
+
require_relative 'ctd_documentation/models/discovery_params'
|
80
|
+
require_relative 'ctd_documentation/models/entity'
|
81
|
+
require_relative 'ctd_documentation/models/find_asset_by_id_response'
|
82
|
+
require_relative 'ctd_documentation/models/get_active_detection_history' \
|
83
|
+
'_response'
|
84
|
+
require_relative 'ctd_documentation/models/get_alerts_response'
|
85
|
+
require_relative 'ctd_documentation/models/get_all_sites_response'
|
86
|
+
require_relative 'ctd_documentation/models/get_assets_response'
|
87
|
+
require_relative 'ctd_documentation/models/get_custom_attribute_categories' \
|
88
|
+
'_response'
|
89
|
+
require_relative 'ctd_documentation/models/get_events_response'
|
90
|
+
require_relative 'ctd_documentation/models/get_license_details_response'
|
91
|
+
require_relative 'ctd_documentation/models/get_queries_response'
|
92
|
+
require_relative 'ctd_documentation/models/get_tasks_response'
|
93
|
+
require_relative 'ctd_documentation/models/indicator_info'
|
94
|
+
require_relative 'ctd_documentation/models/information'
|
95
|
+
require_relative 'ctd_documentation/models/get_queries_ids_and_assigned_task' \
|
96
|
+
'_response'
|
97
|
+
require_relative 'ctd_documentation/models/object'
|
98
|
+
require_relative 'ctd_documentation/models/activities_object'
|
99
|
+
require_relative 'ctd_documentation/models/activities_response'
|
100
|
+
require_relative 'ctd_documentation/models/risk_vector'
|
101
|
+
require_relative 'ctd_documentation/models/selection_params1'
|
102
|
+
require_relative 'ctd_documentation/models/source_virtual_zone'
|
103
|
+
require_relative 'ctd_documentation/models/update_a_single_query_response'
|
104
|
+
require_relative 'ctd_documentation/models/update_a_single_task_response'
|
105
|
+
require_relative 'ctd_documentation/models/get_types_response'
|
106
|
+
require_relative 'ctd_documentation/models/update_license_response'
|
107
|
+
require_relative 'ctd_documentation/models/virtual_zones'
|
108
|
+
require_relative 'ctd_documentation/models/ranger_system_check_response'
|
109
|
+
require_relative 'ctd_documentation/models/slim_insight'
|
110
|
+
require_relative 'ctd_documentation/models/alert_severity_enum'
|
111
|
+
require_relative 'ctd_documentation/models/special_hint_enum'
|
112
|
+
require_relative 'ctd_documentation/models/insight_status_enum'
|
113
|
+
require_relative 'ctd_documentation/models/format_enum'
|
114
|
+
require_relative 'ctd_documentation/models/site_list_slim_enum'
|
115
|
+
require_relative 'ctd_documentation/models/insight_status_exact_enum'
|
116
|
+
require_relative 'ctd_documentation/models/sort_enum'
|
117
|
+
require_relative 'ctd_documentation/models/sort1_enum'
|
118
|
+
require_relative 'ctd_documentation/models/sort3_enum'
|
119
|
+
require_relative 'ctd_documentation/models/sort4_enum'
|
120
|
+
require_relative 'ctd_documentation/models/sort5_enum'
|
121
|
+
require_relative 'ctd_documentation/models/sort6_enum'
|
122
|
+
require_relative 'ctd_documentation/models/special_hint_exact_enum'
|
123
|
+
require_relative 'ctd_documentation/models/status_enum'
|
124
|
+
require_relative 'ctd_documentation/models/status_exact_enum'
|
125
|
+
require_relative 'ctd_documentation/models/content_type_enum'
|
126
|
+
require_relative 'ctd_documentation/models/format1_enum'
|
127
|
+
require_relative 'ctd_documentation/models/sort31_enum'
|
128
|
+
require_relative 'ctd_documentation/models/sort41_enum'
|
129
|
+
require_relative 'ctd_documentation/models/insight_status_exact1_enum'
|
130
|
+
|
131
|
+
# Exceptions
|
132
|
+
require_relative 'ctd_documentation/exceptions/api_exception'
|
133
|
+
require_relative 'ctd_documentation/exceptions/auth_authenticate401_error' \
|
134
|
+
'_exception'
|
135
|
+
|
136
|
+
require_relative 'ctd_documentation/configuration'
|
137
|
+
|
138
|
+
# Controllers
|
139
|
+
require_relative 'ctd_documentation/controllers/base_controller'
|
140
|
+
require_relative 'ctd_documentation/controllers/login_controller'
|
141
|
+
require_relative 'ctd_documentation/controllers/assets_controller'
|
142
|
+
require_relative 'ctd_documentation/controllers/alerts_controller'
|
143
|
+
require_relative 'ctd_documentation/controllers/tasks_controller'
|
144
|
+
require_relative 'ctd_documentation/controllers/tasks_queries_controller'
|
145
|
+
require_relative 'ctd_documentation/controllers/queries_controller'
|
146
|
+
require_relative 'ctd_documentation/controllers/insights_controller'
|
147
|
+
require_relative 'ctd_documentation/controllers/sites_controller'
|
148
|
+
require_relative 'ctd_documentation/controllers/activities_controller'
|
149
|
+
require_relative 'ctd_documentation/controllers/license_controller'
|
150
|
+
require_relative 'ctd_documentation/controllers/users_controller'
|
151
|
+
require_relative 'ctd_documentation/controllers/groups_controller'
|
152
|
+
require_relative 'ctd_documentation/controllers/sensors_controller'
|
153
|
+
require_relative 'ctd_documentation/controllers/custom_attributes_categories' \
|
154
|
+
'_controller'
|
155
|
+
require_relative 'ctd_documentation/controllers/events_controller'
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# ctd_documentation
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
require 'json'
|
7
|
+
require 'minitest/autorun'
|
8
|
+
require 'minitest/hell'
|
9
|
+
require 'minitest/pride'
|
10
|
+
require 'minitest/proveit'
|
11
|
+
require 'ctd_documentation'
|
12
|
+
require_relative '../http_response_catcher'
|
13
|
+
|
14
|
+
class ControllerTestBase < Minitest::Test
|
15
|
+
parallelize_me!
|
16
|
+
include CtdDocumentation
|
17
|
+
|
18
|
+
# Create configuration and set any test parameters
|
19
|
+
def create_configuration
|
20
|
+
Configuration.new(http_callback: HttpResponseCatcher.new)
|
21
|
+
end
|
22
|
+
|
23
|
+
# Initializes the base test controller
|
24
|
+
def setup_class
|
25
|
+
_config = create_configuration
|
26
|
+
@client = Client.new(config: _config)
|
27
|
+
_auth_managers = @client.auth_managers
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
# ctd_documentation
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
require_relative 'controller_test_base'
|
7
|
+
|
8
|
+
class ActivitiesControllerTests < ControllerTestBase
|
9
|
+
# Called only once for the class before any test has executed
|
10
|
+
def setup
|
11
|
+
setup_class
|
12
|
+
@controller = @client.activities
|
13
|
+
@response_catcher = @controller.http_call_back
|
14
|
+
end
|
15
|
+
|
16
|
+
# Get Activities
|
17
|
+
def test_get_activities()
|
18
|
+
# Parameters for the API call
|
19
|
+
page = nil
|
20
|
+
per_page = nil
|
21
|
+
alert_id__exact = nil
|
22
|
+
asset_reference__exact = nil
|
23
|
+
baseline__exact = nil
|
24
|
+
site__exact = nil
|
25
|
+
asset__exact = nil
|
26
|
+
message__exact = nil
|
27
|
+
comment__exact = nil
|
28
|
+
id__exact = nil
|
29
|
+
site_id__exact = nil
|
30
|
+
type__exact = nil
|
31
|
+
timestamp__exact = nil
|
32
|
+
user_id__exact = nil
|
33
|
+
sort = nil
|
34
|
+
|
35
|
+
# Perform the API call through the SDK function
|
36
|
+
result = @controller.get_activities(page: page, per_page: per_page, alert_id__exact: alert_id__exact, asset_reference__exact: asset_reference__exact, baseline__exact: baseline__exact, site__exact: site__exact, asset__exact: asset__exact, message__exact: message__exact, comment__exact: comment__exact, id__exact: id__exact, site_id__exact: site_id__exact, type__exact: type__exact, timestamp__exact: timestamp__exact, user_id__exact: user_id__exact, sort: sort)
|
37
|
+
|
38
|
+
# Test response code
|
39
|
+
assert_equal(200, @response_catcher.response.status_code)
|
40
|
+
|
41
|
+
# Test headers
|
42
|
+
expected_headers = {}
|
43
|
+
expected_headers['content-type'] = 'application/json'
|
44
|
+
|
45
|
+
assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
|
46
|
+
|
47
|
+
# Test whether the captured response is as we expected
|
48
|
+
refute_nil(result)
|
49
|
+
expected_body = JSON.parse(
|
50
|
+
'{"count_filtered":55,"count_in_page":20,"count_total":55,"db_statistics'\
|
51
|
+
'":{"query_count":0},"objects":[{"description":"New Alert 8:\\nKnown Thr'\
|
52
|
+
'eat: Threat ET TROJAN Conficker.b Shellcode was detected from 192.168.0'\
|
53
|
+
'.121 to 192.168.0.101","display_type":"New alert","entity":{"id":135,"o'\
|
54
|
+
'bject":{"description":"Known Threat: Threat ET TROJAN Conficker.b Shell'\
|
55
|
+
'code was detected from 192.168.0.121 to 192.168.0.101","id":8,"resolved'\
|
56
|
+
'":false},"type":"0"},"id":79,"resource_id":"79-4","site_id":4,"site_nam'\
|
57
|
+
'e":"Site4","timestamp":"2020-03-01T12:50:58.238935+00:00","type":0,"use'\
|
58
|
+
'r_id":"23","user_name":"user1"}]}'
|
59
|
+
)
|
60
|
+
received_body = JSON.parse(@response_catcher.response.raw_body)
|
61
|
+
assert(ComparisonHelper.match_body(expected_body, received_body))
|
62
|
+
end
|
63
|
+
|
64
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# ctd_documentation
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
require_relative 'controller_test_base'
|
7
|
+
|
8
|
+
class AlertsControllerTests < ControllerTestBase
|
9
|
+
# Called only once for the class before any test has executed
|
10
|
+
def setup
|
11
|
+
setup_class
|
12
|
+
@controller = @client.alerts
|
13
|
+
@response_catcher = @controller.http_call_back
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
@@ -0,0 +1,79 @@
|
|
1
|
+
# ctd_documentation
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
require_relative 'controller_test_base'
|
7
|
+
|
8
|
+
class AssetsControllerTests < ControllerTestBase
|
9
|
+
# Called only once for the class before any test has executed
|
10
|
+
def setup
|
11
|
+
setup_class
|
12
|
+
@controller = @client.assets
|
13
|
+
@response_catcher = @controller.http_call_back
|
14
|
+
end
|
15
|
+
|
16
|
+
# Returns Assets with the top 10 highest score Insights.
|
17
|
+
#
|
18
|
+
#**Note:** The used lookups are optional
|
19
|
+
def test_get_assetswith_insights()
|
20
|
+
# Parameters for the API call
|
21
|
+
page = nil
|
22
|
+
per_page = nil
|
23
|
+
name__exact = nil
|
24
|
+
ghost__exact = nil
|
25
|
+
risk_level__exact = nil
|
26
|
+
site_name__exact = nil
|
27
|
+
network_id__exact = nil
|
28
|
+
ipv4__exact = nil
|
29
|
+
ipv6__exact = nil
|
30
|
+
mac__icontains = nil
|
31
|
+
asset_type__exact = nil
|
32
|
+
os__exact = nil
|
33
|
+
model__icontains = nil
|
34
|
+
vendor__icontains = nil
|
35
|
+
firmware__exact = nil
|
36
|
+
criticality__exact = nil
|
37
|
+
insight_cve_id__exact = nil
|
38
|
+
insight_cvss__exact = nil
|
39
|
+
insight_title__contains = nil
|
40
|
+
insight_published__exact = nil
|
41
|
+
insight_modified__exact = nil
|
42
|
+
insight_status__exact = nil
|
43
|
+
insight_identified_on__exact = nil
|
44
|
+
insight_last_updated__exact = nil
|
45
|
+
insight_comment__contains = nil
|
46
|
+
|
47
|
+
# Perform the API call through the SDK function
|
48
|
+
result = @controller.get_assetswith_insights(page: page, per_page: per_page, name__exact: name__exact, ghost__exact: ghost__exact, risk_level__exact: risk_level__exact, site_name__exact: site_name__exact, network_id__exact: network_id__exact, ipv4__exact: ipv4__exact, ipv6__exact: ipv6__exact, mac__icontains: mac__icontains, asset_type__exact: asset_type__exact, os__exact: os__exact, model__icontains: model__icontains, vendor__icontains: vendor__icontains, firmware__exact: firmware__exact, criticality__exact: criticality__exact, insight_cve_id__exact: insight_cve_id__exact, insight_cvss__exact: insight_cvss__exact, insight_title__contains: insight_title__contains, insight_published__exact: insight_published__exact, insight_modified__exact: insight_modified__exact, insight_status__exact: insight_status__exact, insight_identified_on__exact: insight_identified_on__exact, insight_last_updated__exact: insight_last_updated__exact, insight_comment__contains: insight_comment__contains)
|
49
|
+
|
50
|
+
# Test response code
|
51
|
+
assert_equal(200, @response_catcher.response.status_code)
|
52
|
+
|
53
|
+
# Test headers
|
54
|
+
expected_headers = {}
|
55
|
+
expected_headers['content-type'] = 'application/json'
|
56
|
+
|
57
|
+
assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
|
58
|
+
|
59
|
+
# Test whether the captured response is as we expected
|
60
|
+
refute_nil(result)
|
61
|
+
expected_body = JSON.parse(
|
62
|
+
'{"count_filtered":40,"count_total":40,"count_in_page":10,"objects":[{"r'\
|
63
|
+
'esource_id":"179-1","id":179,"site_id":1,"asset_type":2,"asset_type__":'\
|
64
|
+
'"eEndpoint","criticality":0,"criticality__":"eLow","firmware":"V31.011"'\
|
65
|
+
',"ghost":false,"insights":[{"comment":"Port was closed","cve_id":"CVE-2'\
|
66
|
+
'019-12260","cvss":9.8,"identified_on":"2022-11-14T16:42:53","last_updat'\
|
67
|
+
'ed":"2022-11-14T14:03:03+00:00","modified":"2022-11-14","published":"20'\
|
68
|
+
'19-08-09","status":0,"title":"(Urgent/11) Handling of unsolicited Rever'\
|
69
|
+
'se Address Resolution Protocol (ARP) replies"}],"IPv4":["10.10.10.10","'\
|
70
|
+
'20.10.20.10"],"IPv6":["684D:1111:222:3333:4444:5555:6:77"],"mac":["00-B'\
|
71
|
+
'0-D0-63-C2-26"],"model":"1756-L84ES/B","name":"GRIZ.W169_03-36.PLC.PSS"'\
|
72
|
+
',"network_id":1,"risk_level":2,"site_name":"CBU-CTD","total_cves_count"'\
|
73
|
+
':12,"vendor":"Realtek Semiconductor"}]}'
|
74
|
+
)
|
75
|
+
received_body = JSON.parse(@response_catcher.response.raw_body)
|
76
|
+
assert(ComparisonHelper.match_body(expected_body, received_body))
|
77
|
+
end
|
78
|
+
|
79
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# ctd_documentation
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
require_relative 'controller_test_base'
|
7
|
+
|
8
|
+
class CustomAttributesCategoriesControllerTests < ControllerTestBase
|
9
|
+
# Called only once for the class before any test has executed
|
10
|
+
def setup
|
11
|
+
setup_class
|
12
|
+
@controller = @client.custom_attributes_categories
|
13
|
+
@response_catcher = @controller.http_call_back
|
14
|
+
end
|
15
|
+
|
16
|
+
# Get Custom Attribute Categories
|
17
|
+
def test_get_custom_attribute_categories()
|
18
|
+
# Parameters for the API call
|
19
|
+
page = nil
|
20
|
+
per_page = nil
|
21
|
+
id__exact = nil
|
22
|
+
site_id__exact = nil
|
23
|
+
name__contains = nil
|
24
|
+
name__icontains = nil
|
25
|
+
description__icontains = nil
|
26
|
+
description__contains = nil
|
27
|
+
sort = nil
|
28
|
+
|
29
|
+
# Perform the API call through the SDK function
|
30
|
+
result = @controller.get_custom_attribute_categories(page: page, per_page: per_page, id__exact: id__exact, site_id__exact: site_id__exact, name__contains: name__contains, name__icontains: name__icontains, description__icontains: description__icontains, description__contains: description__contains, sort: sort)
|
31
|
+
|
32
|
+
# Test response code
|
33
|
+
assert_equal(200, @response_catcher.response.status_code)
|
34
|
+
|
35
|
+
# Test headers
|
36
|
+
expected_headers = {}
|
37
|
+
expected_headers['content-type'] = 'application/json'
|
38
|
+
|
39
|
+
assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
|
40
|
+
|
41
|
+
# Test whether the captured response is as we expected
|
42
|
+
refute_nil(result)
|
43
|
+
expected_body = JSON.parse(
|
44
|
+
'{"count_filtered":40,"count_total":40,"count_in_page":10,"objects":[{"r'\
|
45
|
+
'esource_id":"1-1","id":1,"site_id":1,"description":"Custom attribute ca'\
|
46
|
+
'tegory description","name":"name"}]}'
|
47
|
+
)
|
48
|
+
received_body = JSON.parse(@response_catcher.response.raw_body)
|
49
|
+
assert(ComparisonHelper.match_body(expected_body, received_body))
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# ctd_documentation
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
require_relative 'controller_test_base'
|
7
|
+
|
8
|
+
class EventsControllerTests < ControllerTestBase
|
9
|
+
# Called only once for the class before any test has executed
|
10
|
+
def setup
|
11
|
+
setup_class
|
12
|
+
@controller = @client.events
|
13
|
+
@response_catcher = @controller.http_call_back
|
14
|
+
end
|
15
|
+
|
16
|
+
# Get Events
|
17
|
+
def test_get_events()
|
18
|
+
# Parameters for the API call
|
19
|
+
page = nil
|
20
|
+
per_page = nil
|
21
|
+
site_id = nil
|
22
|
+
id__exact = '3-1'
|
23
|
+
alert_id__exact = '56-1'
|
24
|
+
timestamp__exact = nil
|
25
|
+
last_updated__exact = nil
|
26
|
+
description__contains = nil
|
27
|
+
description__icontains = nil
|
28
|
+
type__exact = nil
|
29
|
+
status__exact = nil
|
30
|
+
sort = nil
|
31
|
+
|
32
|
+
# Perform the API call through the SDK function
|
33
|
+
result = @controller.get_events(page: page, per_page: per_page, site_id: site_id, id__exact: id__exact, alert_id__exact: alert_id__exact, timestamp__exact: timestamp__exact, last_updated__exact: last_updated__exact, description__contains: description__contains, description__icontains: description__icontains, type__exact: type__exact, status__exact: status__exact, sort: sort)
|
34
|
+
|
35
|
+
# Test response code
|
36
|
+
assert_equal(200, @response_catcher.response.status_code)
|
37
|
+
|
38
|
+
# Test headers
|
39
|
+
expected_headers = {}
|
40
|
+
expected_headers['content-type'] = 'text/plain'
|
41
|
+
|
42
|
+
assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
|
43
|
+
|
44
|
+
# Test whether the captured response is as we expected
|
45
|
+
refute_nil(result)
|
46
|
+
expected_body = JSON.parse(
|
47
|
+
'{"count_filtered":40,"count_total":40,"count_in_page":10,"objects":[{"r'\
|
48
|
+
'esource_id":"1-1","id":1,"site_id":1,"description":"Custom attribute ca'\
|
49
|
+
'tegory description","name":"name"}]}'
|
50
|
+
)
|
51
|
+
received_body = JSON.parse(@response_catcher.response.raw_body)
|
52
|
+
assert(ComparisonHelper.match_body(expected_body, received_body))
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# ctd_documentation
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
require_relative 'controller_test_base'
|
7
|
+
|
8
|
+
class LoginControllerTests < ControllerTestBase
|
9
|
+
# Called only once for the class before any test has executed
|
10
|
+
def setup
|
11
|
+
setup_class
|
12
|
+
@controller = @client.login
|
13
|
+
@response_catcher = @controller.http_call_back
|
14
|
+
end
|
15
|
+
|
16
|
+
# CTD Login
|
17
|
+
def test_ctd_login()
|
18
|
+
# Parameters for the API call
|
19
|
+
body = nil
|
20
|
+
|
21
|
+
# Perform the API call through the SDK function
|
22
|
+
result = @controller.ctd_login(body: body)
|
23
|
+
|
24
|
+
# Test response code
|
25
|
+
assert_equal(200, @response_catcher.response.status_code)
|
26
|
+
|
27
|
+
# Test headers
|
28
|
+
expected_headers = {}
|
29
|
+
expected_headers['content-type'] = 'application/json'
|
30
|
+
|
31
|
+
assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
|
32
|
+
|
33
|
+
# Test whether the captured response is as we expected
|
34
|
+
refute_nil(result)
|
35
|
+
expected_body = JSON.parse(
|
36
|
+
'{"id":1,"first_name":"first name","last_name":"last name","token":"eyJ0'\
|
37
|
+
'eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJ1c2VyX2lkIjoxLCJpc19hZG1pbiI6dHJ1ZS'\
|
38
|
+
'wiZXhwIjoxNTg4NTQ0MjYxfQ.TYp5oHJTkDsHwBcuz06eYRbnqDnZAaNDt","password_e'\
|
39
|
+
'xpired":false,"mail":"mail@mail.com"}'
|
40
|
+
)
|
41
|
+
received_body = JSON.parse(@response_catcher.response.raw_body)
|
42
|
+
assert(ComparisonHelper.match_body(expected_body, received_body))
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|