datadog-ci 0.3.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +89 -1
- data/README.md +57 -34
- data/lib/datadog/ci/concurrent_span.rb +59 -0
- data/lib/datadog/ci/configuration/components.rb +40 -1
- data/lib/datadog/ci/configuration/extensions.rb +21 -0
- data/lib/datadog/ci/configuration/settings.rb +7 -1
- data/lib/datadog/ci/contrib/cucumber/configuration/settings.rb +12 -1
- data/lib/datadog/ci/contrib/cucumber/formatter.rb +22 -29
- data/lib/datadog/ci/contrib/minitest/configuration/settings.rb +10 -1
- data/lib/datadog/ci/contrib/minitest/hooks.rb +15 -25
- data/lib/datadog/ci/contrib/rspec/configuration/settings.rb +10 -1
- data/lib/datadog/ci/contrib/rspec/example.rb +13 -18
- data/lib/datadog/ci/contrib/settings.rb +2 -0
- data/lib/datadog/ci/ext/app_types.rb +5 -0
- data/lib/datadog/ci/ext/environment/extractor.rb +5 -10
- data/lib/datadog/ci/ext/environment/providers/github_actions.rb +13 -4
- data/lib/datadog/ci/ext/settings.rb +11 -0
- data/lib/datadog/ci/ext/test.rb +12 -1
- data/lib/datadog/ci/null_span.rb +63 -0
- data/lib/datadog/ci/span.rb +117 -0
- data/lib/datadog/ci/test.rb +25 -0
- data/lib/datadog/ci/test_module.rb +23 -0
- data/lib/datadog/ci/test_session.rb +36 -0
- data/lib/datadog/ci/test_suite.rb +25 -0
- data/lib/datadog/ci/test_visibility/context/global.rb +82 -0
- data/lib/datadog/ci/test_visibility/context/local.rb +52 -0
- data/lib/datadog/ci/test_visibility/recorder.rb +293 -0
- data/lib/datadog/ci/test_visibility/serializers/base.rb +100 -12
- data/lib/datadog/ci/test_visibility/serializers/factories/test_suite_level.rb +37 -0
- data/lib/datadog/ci/test_visibility/serializers/span.rb +2 -16
- data/lib/datadog/ci/test_visibility/serializers/test_module.rb +46 -0
- data/lib/datadog/ci/test_visibility/serializers/test_session.rb +46 -0
- data/lib/datadog/ci/test_visibility/serializers/test_suite.rb +46 -0
- data/lib/datadog/ci/test_visibility/serializers/test_v1.rb +3 -17
- data/lib/datadog/ci/test_visibility/serializers/test_v2.rb +38 -0
- data/lib/datadog/ci/test_visibility/transport.rb +4 -4
- data/lib/datadog/ci/utils/test_run.rb +15 -0
- data/lib/datadog/ci/utils/url.rb +15 -0
- data/lib/datadog/ci/version.rb +2 -2
- data/lib/datadog/ci.rb +378 -7
- data/sig/datadog/ci/concurrent_span.rbs +23 -0
- data/sig/datadog/ci/configuration/components.rbs +6 -0
- data/sig/datadog/ci/configuration/extensions.rbs +9 -0
- data/sig/datadog/ci/ext/app_types.rbs +6 -1
- data/sig/datadog/ci/ext/environment/extractor.rbs +0 -2
- data/sig/datadog/ci/ext/environment/providers/github_actions.rbs +5 -0
- data/sig/datadog/ci/ext/settings.rbs +3 -0
- data/sig/datadog/ci/ext/test.rbs +15 -0
- data/sig/datadog/ci/null_span.rbs +37 -0
- data/sig/datadog/ci/span.rbs +39 -0
- data/sig/datadog/ci/test.rbs +7 -0
- data/sig/datadog/ci/test_module.rbs +6 -0
- data/sig/datadog/ci/test_session.rbs +9 -0
- data/sig/datadog/ci/test_suite.rbs +6 -0
- data/sig/datadog/ci/test_visibility/context/global.rbs +39 -0
- data/sig/datadog/ci/test_visibility/context/local.rbs +23 -0
- data/sig/datadog/ci/test_visibility/recorder.rbs +85 -0
- data/sig/datadog/ci/test_visibility/serializers/base.rbs +26 -5
- data/sig/datadog/ci/test_visibility/serializers/factories/test_suite_level.rbs +13 -0
- data/sig/datadog/ci/test_visibility/serializers/test_module.rbs +26 -0
- data/sig/datadog/ci/test_visibility/serializers/test_session.rbs +26 -0
- data/sig/datadog/ci/test_visibility/serializers/test_suite.rbs +26 -0
- data/sig/datadog/ci/test_visibility/serializers/test_v1.rbs +1 -1
- data/sig/datadog/ci/test_visibility/serializers/test_v2.rbs +25 -0
- data/sig/datadog/ci/test_visibility/transport.rbs +3 -3
- data/sig/datadog/ci/utils/test_run.rbs +11 -0
- data/sig/datadog/ci/utils/url.rbs +9 -0
- data/sig/datadog/ci.rbs +31 -3
- metadata +38 -6
- data/lib/datadog/ci/extensions.rb +0 -19
- data/lib/datadog/ci/recorder.rb +0 -83
- data/sig/datadog/ci/extensions.rbs +0 -7
- data/sig/datadog/ci/recorder.rbs +0 -18
@@ -2,7 +2,12 @@ module Datadog
|
|
2
2
|
module CI
|
3
3
|
module Ext
|
4
4
|
module AppTypes
|
5
|
-
TYPE_TEST:
|
5
|
+
TYPE_TEST: "test"
|
6
|
+
TYPE_TEST_SESSION: "test_session_end"
|
7
|
+
TYPE_TEST_MODULE: "test_module_end"
|
8
|
+
TYPE_TEST_SUITE: "test_suite_end"
|
9
|
+
|
10
|
+
CI_SPAN_TYPES: Array[String]
|
6
11
|
end
|
7
12
|
end
|
8
13
|
end
|
@@ -5,6 +5,7 @@ module Datadog
|
|
5
5
|
module Providers
|
6
6
|
class GithubActions < Extractor
|
7
7
|
@ref: String
|
8
|
+
@github_server_url: String?
|
8
9
|
|
9
10
|
def provider_name: () -> "github"
|
10
11
|
|
@@ -29,6 +30,10 @@ module Datadog
|
|
29
30
|
def git_branch_or_tag: () -> String?
|
30
31
|
|
31
32
|
def ci_env_vars: () -> String?
|
33
|
+
|
34
|
+
private
|
35
|
+
|
36
|
+
def github_server_url: () -> String?
|
32
37
|
end
|
33
38
|
end
|
34
39
|
end
|
data/sig/datadog/ci/ext/test.rbs
CHANGED
@@ -18,9 +18,24 @@ module Datadog
|
|
18
18
|
|
19
19
|
TAG_SUITE: String
|
20
20
|
|
21
|
+
TAG_MODULE: String
|
22
|
+
|
21
23
|
TAG_TRAITS: String
|
22
24
|
|
23
25
|
TAG_TYPE: String
|
26
|
+
|
27
|
+
TAG_COMMAND: String
|
28
|
+
|
29
|
+
TAG_TEST_SESSION_ID: String
|
30
|
+
|
31
|
+
TAG_TEST_MODULE_ID: String
|
32
|
+
|
33
|
+
TAG_TEST_SUITE_ID: String
|
34
|
+
|
35
|
+
SPECIAL_TAGS: Array[String]
|
36
|
+
|
37
|
+
INHERITABLE_TAGS: Array[String]
|
38
|
+
|
24
39
|
TAG_OS_ARCHITECTURE: String
|
25
40
|
|
26
41
|
TAG_OS_PLATFORM: String
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module Datadog
|
2
|
+
module CI
|
3
|
+
class NullSpan < Span
|
4
|
+
def initialize: () -> void
|
5
|
+
|
6
|
+
def id: () -> nil
|
7
|
+
|
8
|
+
def name: () -> nil
|
9
|
+
|
10
|
+
def service: () -> nil
|
11
|
+
|
12
|
+
def span_type: () -> nil
|
13
|
+
|
14
|
+
def passed!: () -> nil
|
15
|
+
|
16
|
+
def failed!: (?exception: untyped?) -> nil
|
17
|
+
|
18
|
+
def skipped!: (?exception: untyped?, ?reason: untyped?) -> nil
|
19
|
+
|
20
|
+
def get_tag: (untyped key) -> nil
|
21
|
+
|
22
|
+
def set_tag: (untyped key, untyped value) -> nil
|
23
|
+
|
24
|
+
def set_metric: (untyped key, untyped value) -> nil
|
25
|
+
|
26
|
+
def finish: () -> nil
|
27
|
+
|
28
|
+
def set_tags: (untyped tags) -> nil
|
29
|
+
|
30
|
+
def set_environment_runtime_tags: () -> nil
|
31
|
+
|
32
|
+
def set_default_tags: () -> nil
|
33
|
+
|
34
|
+
def to_s: () -> untyped
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module Datadog
|
2
|
+
module CI
|
3
|
+
class Span
|
4
|
+
@tracer_span: Datadog::Tracing::SpanOperation
|
5
|
+
|
6
|
+
attr_reader tracer_span: Datadog::Tracing::SpanOperation
|
7
|
+
|
8
|
+
def initialize: (Datadog::Tracing::SpanOperation tracer_span) -> void
|
9
|
+
|
10
|
+
def id: () -> Integer
|
11
|
+
|
12
|
+
def name: () -> String
|
13
|
+
|
14
|
+
def service: () -> String
|
15
|
+
|
16
|
+
def passed!: () -> void
|
17
|
+
|
18
|
+
def failed!: (?exception: untyped?) -> void
|
19
|
+
|
20
|
+
def skipped!: (?exception: untyped?, ?reason: String?) -> void
|
21
|
+
|
22
|
+
def get_tag: (String key) -> untyped?
|
23
|
+
|
24
|
+
def set_tag: (String key, untyped? value) -> void
|
25
|
+
|
26
|
+
def set_metric: (String key, untyped value) -> void
|
27
|
+
|
28
|
+
def set_tags: (Hash[untyped, untyped] tags) -> void
|
29
|
+
|
30
|
+
def finish: () -> void
|
31
|
+
|
32
|
+
def span_type: () -> String
|
33
|
+
|
34
|
+
def set_environment_runtime_tags: () -> void
|
35
|
+
|
36
|
+
def set_default_tags: () -> void
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module Datadog
|
2
|
+
module CI
|
3
|
+
module TestVisibility
|
4
|
+
module Context
|
5
|
+
class Global
|
6
|
+
@mutex: Thread::Mutex
|
7
|
+
|
8
|
+
@test_session: Datadog::CI::TestSession?
|
9
|
+
@test_module: Datadog::CI::TestModule?
|
10
|
+
@test_suites: Hash[String, Datadog::CI::TestSuite]
|
11
|
+
|
12
|
+
def initialize: () -> void
|
13
|
+
|
14
|
+
def fetch_or_activate_test_suite: (String test_suite_name) {() -> Datadog::CI::TestSuite} -> Datadog::CI::TestSuite
|
15
|
+
|
16
|
+
def fetch_or_activate_test_module: () {() -> Datadog::CI::TestModule} -> Datadog::CI::TestModule
|
17
|
+
|
18
|
+
def fetch_or_activate_test_session: () {() -> Datadog::CI::TestSession} -> Datadog::CI::TestSession
|
19
|
+
|
20
|
+
def active_test_session: () -> Datadog::CI::TestSession?
|
21
|
+
|
22
|
+
def active_test_suite: (String test_suite_name) -> Datadog::CI::TestSuite?
|
23
|
+
|
24
|
+
def service: () -> String?
|
25
|
+
|
26
|
+
def inheritable_session_tags: () -> Hash[untyped, untyped]
|
27
|
+
|
28
|
+
def active_test_module: () -> Datadog::CI::TestModule?
|
29
|
+
|
30
|
+
def deactivate_test_session!: () -> void
|
31
|
+
|
32
|
+
def deactivate_test_module!: () -> void
|
33
|
+
|
34
|
+
def deactivate_test_suite!: (String test_suite_name) -> void
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Datadog
|
2
|
+
module CI
|
3
|
+
module TestVisibility
|
4
|
+
module Context
|
5
|
+
class Local
|
6
|
+
@key: Symbol
|
7
|
+
|
8
|
+
def initialize: () -> void
|
9
|
+
|
10
|
+
def activate_test!: (Datadog::CI::Test test) ?{ () -> untyped } -> void
|
11
|
+
|
12
|
+
def deactivate_test!: (Datadog::CI::Test test) -> void
|
13
|
+
|
14
|
+
def active_test: () -> Datadog::CI::Test?
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
def active_test=: (Datadog::CI::Test? test) -> untyped
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,85 @@
|
|
1
|
+
module Datadog
|
2
|
+
module CI
|
3
|
+
module TestVisibility
|
4
|
+
class Recorder
|
5
|
+
@test_suite_level_visibility_enabled: bool
|
6
|
+
@enabled: bool
|
7
|
+
|
8
|
+
@environment_tags: Hash[String, String]
|
9
|
+
@local_context: Datadog::CI::TestVisibility::Context::Local
|
10
|
+
@global_context: Datadog::CI::TestVisibility::Context::Global
|
11
|
+
|
12
|
+
@null_span: Datadog::CI::NullSpan
|
13
|
+
|
14
|
+
attr_reader environment_tags: Hash[String, String]
|
15
|
+
attr_reader test_suite_level_visibility_enabled: bool
|
16
|
+
attr_reader enabled: bool
|
17
|
+
|
18
|
+
def initialize: (?enabled: bool, ?test_suite_level_visibility_enabled: bool) -> void
|
19
|
+
|
20
|
+
def trace_test: (String span_name, String test_suite_name, ?service: String?, ?tags: Hash[untyped, untyped]) ?{ (Datadog::CI::Span span) -> untyped } -> untyped
|
21
|
+
|
22
|
+
def trace: (String span_type, String span_name, ?tags: Hash[untyped, untyped]) ?{ (Datadog::CI::Span span) -> untyped } -> untyped
|
23
|
+
|
24
|
+
def start_test_session: (?service: String?, ?tags: Hash[untyped, untyped]) -> Datadog::CI::Span
|
25
|
+
|
26
|
+
def start_test_module: (String test_module_name, ?service: String?, ?tags: Hash[untyped, untyped]) -> Datadog::CI::Span
|
27
|
+
|
28
|
+
def start_test_suite: (String test_suite_name, ?service: String?, ?tags: Hash[untyped, untyped]) -> Datadog::CI::Span
|
29
|
+
|
30
|
+
def active_test_session: () -> Datadog::CI::TestSession?
|
31
|
+
|
32
|
+
def active_test_module: () -> Datadog::CI::TestModule?
|
33
|
+
|
34
|
+
def active_test_suite: (String test_suite_name) -> Datadog::CI::TestSuite?
|
35
|
+
|
36
|
+
def active_test: () -> Datadog::CI::Test?
|
37
|
+
|
38
|
+
def active_span: () -> Datadog::CI::Span?
|
39
|
+
|
40
|
+
def deactivate_test: (Datadog::CI::Test test) -> void
|
41
|
+
|
42
|
+
def deactivate_test_session: () -> void
|
43
|
+
|
44
|
+
def deactivate_test_module: () -> void
|
45
|
+
|
46
|
+
def deactivate_test_suite: (String test_suite_name) -> void
|
47
|
+
|
48
|
+
def create_datadog_span: (String span_name, ?span_options: Hash[untyped, untyped], ?tags: Hash[untyped, untyped]) ?{ (Datadog::CI::Span span) -> untyped } -> untyped
|
49
|
+
|
50
|
+
def set_trace_origin: (Datadog::Tracing::TraceOperation trace) -> untyped
|
51
|
+
|
52
|
+
private
|
53
|
+
|
54
|
+
def build_test: (Datadog::Tracing::SpanOperation tracer_span, Hash[untyped, untyped] tags) -> Datadog::CI::Test
|
55
|
+
|
56
|
+
def build_test_session: (Datadog::Tracing::SpanOperation tracer_span, Hash[untyped, untyped] tags) -> Datadog::CI::TestSession
|
57
|
+
|
58
|
+
def build_test_module: (Datadog::Tracing::SpanOperation tracer_span, Hash[untyped, untyped] tags) -> Datadog::CI::TestModule
|
59
|
+
|
60
|
+
def build_test_suite: (Datadog::Tracing::SpanOperation tracer_span, Hash[untyped, untyped] tags) -> Datadog::CI::TestSuite
|
61
|
+
|
62
|
+
def build_span: (Datadog::Tracing::SpanOperation tracer_span, Hash[untyped, untyped] tags) -> Datadog::CI::Span
|
63
|
+
|
64
|
+
def build_span_options: (String? service_name, String span_type, ?Hash[Symbol, untyped] other_options) -> Hash[Symbol, untyped]
|
65
|
+
|
66
|
+
def set_initial_tags: (Datadog::CI::Span ci_span, Hash[untyped, untyped] tags) -> void
|
67
|
+
|
68
|
+
# the type (Datadog::CI::TestSession | Datadog::Tracing::SpanOperation) screams of wrong/mising abstraction
|
69
|
+
def set_session_context: (Hash[untyped, untyped] tags, ?Datadog::CI::TestSession | Datadog::Tracing::SpanOperation? test_session) -> void
|
70
|
+
|
71
|
+
def set_suite_context: (Hash[untyped, untyped] tags, ?span: Datadog::Tracing::SpanOperation, ?name: String) -> void
|
72
|
+
|
73
|
+
def set_module_context: (Hash[untyped, untyped] tags, ?Datadog::CI::TestModule | Datadog::Tracing::SpanOperation? test_module) -> void
|
74
|
+
|
75
|
+
def null_span: () -> Datadog::CI::Span
|
76
|
+
|
77
|
+
def skip_tracing: (?untyped block) -> untyped
|
78
|
+
|
79
|
+
def start_datadog_tracer_span: (String span_name, Hash[untyped, untyped] span_options) ?{ (untyped) -> untyped } -> untyped
|
80
|
+
|
81
|
+
def set_inherited_globals: (Hash[untyped, untyped] tags) -> void
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
@@ -7,18 +7,28 @@ module Datadog
|
|
7
7
|
MINIMUM_DURATION_NANO: 0
|
8
8
|
MAXIMUM_DURATION_NANO: 9223372036854775807
|
9
9
|
|
10
|
+
CONTENT_FIELDS: Array[String | Hash[String, String]]
|
11
|
+
REQUIRED_FIELDS: Array[String]
|
12
|
+
|
10
13
|
@content_fields_count: Integer
|
11
14
|
@start: Integer
|
12
15
|
@duration: Integer
|
16
|
+
@meta: Hash[untyped, untyped]
|
17
|
+
@errors: Hash[String, Set[String]]
|
18
|
+
@validated: bool
|
13
19
|
|
14
20
|
attr_reader trace: Datadog::Tracing::TraceSegment
|
15
21
|
attr_reader span: Datadog::Tracing::Span
|
22
|
+
attr_reader meta: Hash[untyped, untyped]
|
16
23
|
|
17
24
|
def initialize: (Datadog::Tracing::TraceSegment trace, Datadog::Tracing::Span span) -> void
|
18
25
|
|
19
26
|
def to_msgpack: (?untyped? packer) -> untyped
|
20
27
|
|
21
28
|
def valid?: () -> bool
|
29
|
+
def validate!: () -> void
|
30
|
+
def validation_errors: () -> Hash[String, Set[String]]
|
31
|
+
|
22
32
|
def content_fields: () -> ::Array[String | Hash[String, String]]
|
23
33
|
def content_map_size: () -> Integer
|
24
34
|
|
@@ -30,6 +40,12 @@ module Datadog
|
|
30
40
|
|
31
41
|
def parent_id: () -> String
|
32
42
|
|
43
|
+
def test_session_id: () -> Integer?
|
44
|
+
|
45
|
+
def test_module_id: () -> Integer?
|
46
|
+
|
47
|
+
def test_suite_id: () -> Integer?
|
48
|
+
|
33
49
|
def type: () -> nil
|
34
50
|
|
35
51
|
def version: () -> 1
|
@@ -46,8 +62,6 @@ module Datadog
|
|
46
62
|
|
47
63
|
def duration: () -> Integer
|
48
64
|
|
49
|
-
def meta: () -> Hash[String, untyped]
|
50
|
-
|
51
65
|
def metrics: () -> Hash[String, untyped]
|
52
66
|
|
53
67
|
def error: () -> Integer
|
@@ -56,15 +70,22 @@ module Datadog
|
|
56
70
|
|
57
71
|
private
|
58
72
|
|
59
|
-
def
|
60
|
-
def
|
61
|
-
def
|
73
|
+
def validate_start_time!: () -> void
|
74
|
+
def validate_duration!: () -> void
|
75
|
+
def validate_required_fields!: () -> void
|
76
|
+
def validate_required!: (String field) -> void
|
77
|
+
def validate_greater_than_or_equal!: (String field, Integer value) -> void
|
78
|
+
def validate_less_than_or_equal!: (String field, Integer value) -> void
|
79
|
+
def add_error: (String field, String message) -> void
|
80
|
+
|
62
81
|
def required_fields: () -> Array[String]
|
63
82
|
|
64
83
|
def write_field: (untyped packer, String field_name, ?String? method) -> untyped
|
65
84
|
def time_nano: (Time time) -> Integer
|
66
85
|
def duration_nano: (Float duration) -> Integer
|
67
86
|
|
87
|
+
def to_integer: (String? value) -> Integer?
|
88
|
+
|
68
89
|
def content_fields_count: () -> Integer
|
69
90
|
end
|
70
91
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module Datadog
|
2
|
+
module CI
|
3
|
+
module TestVisibility
|
4
|
+
module Serializers
|
5
|
+
module Factories
|
6
|
+
module TestSuiteLevel
|
7
|
+
def self?.serializer: (Datadog::Tracing::TraceSegment trace, Datadog::Tracing::Span span) -> Datadog::CI::TestVisibility::Serializers::Base
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Datadog
|
2
|
+
module CI
|
3
|
+
module TestVisibility
|
4
|
+
module Serializers
|
5
|
+
class TestModule < Base
|
6
|
+
CONTENT_FIELDS: Array[String | Hash[String, String]]
|
7
|
+
CONTENT_MAP_SIZE: Integer
|
8
|
+
REQUIRED_FIELDS: Array[String]
|
9
|
+
|
10
|
+
def content_fields: () -> Array[String | Hash[String, String]]
|
11
|
+
def content_map_size: () -> Integer
|
12
|
+
|
13
|
+
def type: () -> ::String
|
14
|
+
|
15
|
+
def name: () -> ::String
|
16
|
+
|
17
|
+
def resource: () -> ::String
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def required_fields: () -> Array[String]
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Datadog
|
2
|
+
module CI
|
3
|
+
module TestVisibility
|
4
|
+
module Serializers
|
5
|
+
class TestSession < Base
|
6
|
+
CONTENT_FIELDS: Array[String | Hash[String, String]]
|
7
|
+
CONTENT_MAP_SIZE: Integer
|
8
|
+
REQUIRED_FIELDS: Array[String]
|
9
|
+
|
10
|
+
def content_fields: () -> Array[String | Hash[String, String]]
|
11
|
+
def content_map_size: () -> Integer
|
12
|
+
|
13
|
+
def type: () -> ::String
|
14
|
+
|
15
|
+
def name: () -> ::String
|
16
|
+
|
17
|
+
def resource: () -> ::String
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def required_fields: () -> Array[String]
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Datadog
|
2
|
+
module CI
|
3
|
+
module TestVisibility
|
4
|
+
module Serializers
|
5
|
+
class TestSuite < Base
|
6
|
+
CONTENT_FIELDS: Array[String | Hash[String, String]]
|
7
|
+
CONTENT_MAP_SIZE: Integer
|
8
|
+
REQUIRED_FIELDS: Array[String]
|
9
|
+
|
10
|
+
def content_fields: () -> Array[String | Hash[String, String]]
|
11
|
+
def content_map_size: () -> Integer
|
12
|
+
|
13
|
+
def type: () -> ::String
|
14
|
+
|
15
|
+
def name: () -> ::String
|
16
|
+
|
17
|
+
def resource: () -> ::String
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def required_fields: () -> Array[String]
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Datadog
|
2
|
+
module CI
|
3
|
+
module TestVisibility
|
4
|
+
module Serializers
|
5
|
+
class TestV2 < TestV1
|
6
|
+
CONTENT_FIELDS: ::Array[String | ::Hash[::String, String]]
|
7
|
+
|
8
|
+
CONTENT_MAP_SIZE: Integer
|
9
|
+
|
10
|
+
REQUIRED_FIELDS: ::Array[String]
|
11
|
+
|
12
|
+
def content_fields: () -> ::Array[String | ::Hash[::String, String]]
|
13
|
+
|
14
|
+
def content_map_size: () -> Integer
|
15
|
+
|
16
|
+
def version: () -> 2
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def required_fields: () -> Array[String]
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -4,19 +4,19 @@ module Datadog
|
|
4
4
|
class Transport
|
5
5
|
DEFAULT_MAX_PAYLOAD_SIZE: Integer
|
6
6
|
|
7
|
-
attr_reader serializers_factory: singleton(Datadog::CI::TestVisibility::Serializers::Factories::TestLevel)
|
7
|
+
attr_reader serializers_factory: singleton(Datadog::CI::TestVisibility::Serializers::Factories::TestLevel) | singleton(Datadog::CI::TestVisibility::Serializers::Factories::TestSuiteLevel)
|
8
8
|
attr_reader dd_env: String?
|
9
9
|
attr_reader api: Datadog::CI::Transport::Api::Base
|
10
10
|
attr_reader max_payload_size: Integer
|
11
11
|
|
12
12
|
@dd_env: String?
|
13
|
-
@serializers_factory: singleton(Datadog::CI::TestVisibility::Serializers::Factories::TestLevel)
|
13
|
+
@serializers_factory: singleton(Datadog::CI::TestVisibility::Serializers::Factories::TestLevel) | singleton(Datadog::CI::TestVisibility::Serializers::Factories::TestSuiteLevel)
|
14
14
|
@max_payload_size: Integer
|
15
15
|
|
16
16
|
def initialize: (
|
17
17
|
api: Datadog::CI::Transport::Api::Base,
|
18
18
|
?dd_env: ::String?,
|
19
|
-
?serializers_factory: singleton(Datadog::CI::TestVisibility::Serializers::Factories::TestLevel),
|
19
|
+
?serializers_factory: singleton(Datadog::CI::TestVisibility::Serializers::Factories::TestLevel) | singleton(Datadog::CI::TestVisibility::Serializers::Factories::TestSuiteLevel),
|
20
20
|
?max_payload_size: Integer
|
21
21
|
) -> void
|
22
22
|
|
data/sig/datadog/ci.rbs
CHANGED
@@ -1,7 +1,35 @@
|
|
1
1
|
module Datadog
|
2
2
|
module CI
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
def self.trace_test: (String test_name, String test_suite_name, ?service: String?, ?tags: Hash[untyped, untyped]) ?{ (Datadog::CI::Span test) -> untyped } -> untyped
|
4
|
+
|
5
|
+
def self.start_test: (String test_name, String test_suite_name, ?service: String?, ?tags: Hash[untyped, untyped]) -> Datadog::CI::Span
|
6
|
+
|
7
|
+
def self.start_test_session: (?service: String?, ?tags: Hash[untyped, untyped]) -> Datadog::CI::Span
|
8
|
+
|
9
|
+
def self.start_test_module: (String test_module_name, ?service: String?, ?tags: Hash[untyped, untyped]) -> Datadog::CI::Span
|
10
|
+
|
11
|
+
def self.start_test_suite: (String test_suite_name, ?service: String?, ?tags: Hash[untyped, untyped]) -> Datadog::CI::Span
|
12
|
+
|
13
|
+
def self.trace: (String span_type, String span_name, ?tags: Hash[untyped, untyped]) ?{ (Datadog::CI::Span span) -> untyped } -> untyped
|
14
|
+
|
15
|
+
def self.active_test_session: () -> Datadog::CI::TestSession?
|
16
|
+
|
17
|
+
def self.active_test_module: () -> Datadog::CI::TestModule?
|
18
|
+
|
19
|
+
def self.active_test: () -> Datadog::CI::Test?
|
20
|
+
|
21
|
+
def self.active_span: (String span_type) -> Datadog::CI::Span?
|
22
|
+
|
23
|
+
def self.deactivate_test: (Datadog::CI::Test test) -> void
|
24
|
+
|
25
|
+
def self.deactivate_test_session: () -> void
|
26
|
+
|
27
|
+
def self.deactivate_test_module: () -> void
|
28
|
+
|
29
|
+
def self.deactivate_test_suite: (String test_suite_name) -> void
|
30
|
+
|
31
|
+
def self.components: () -> Datadog::CI::Configuration::Components
|
32
|
+
|
33
|
+
def self.recorder: () -> Datadog::CI::TestVisibility::Recorder
|
6
34
|
end
|
7
35
|
end
|