pact-ffi 0.0.2-x86_64-darwin → 0.0.3-x86_64-darwin

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.
@@ -0,0 +1,143 @@
1
+ # require 'pact-ffi/version'
2
+ require 'ffi'
3
+ require 'pact/detect_os'
4
+
5
+ module PactFfi
6
+ module Utils
7
+ extend FFI::Library
8
+ ffi_lib DetectOS.get_bin_path
9
+
10
+ DetectOS.windows? || DetectOS.linux_arm? ? (typedef :uint32, :uint32_type) : (typedef :uint32_t, :uint32_type)
11
+ FfiSpecificationVersion = Hash[
12
+ 'SPECIFICATION_VERSION_UNKNOWN' => 0,
13
+ 'SPECIFICATION_VERSION_V1' => 1,
14
+ 'SPECIFICATION_VERSION_V1_1' => 2,
15
+ 'SPECIFICATION_VERSION_V2' => 3,
16
+ 'SPECIFICATION_VERSION_V3' => 4,
17
+ 'SPECIFICATION_VERSION_V4' => 5,
18
+ ]
19
+ FfiWritePactResponse = Hash[
20
+ 'SUCCESS' => 0,
21
+ 'GENERAL_PANIC' => 1,
22
+ 'UNABLE_TO_WRITE_PACT_FILE' => 2,
23
+ 'MOCK_SERVER_NOT_FOUND' => 3,
24
+ ]
25
+ FfiWriteMessagePactResponse = Hash[
26
+ 'SUCCESS' => 0,
27
+ 'UNABLE_TO_WRITE_PACT_FILE' => 1,
28
+ 'MESSAGE_HANDLE_INVALID' => 2,
29
+ 'MOCK_SERVER_NOT_FOUND' => 3,
30
+ ]
31
+ FfiConfigurePluginResponse = Hash[
32
+ 'SUCCESS' => 0,
33
+ 'GENERAL_PANIC' => 1,
34
+ 'FAILED_TO_LOAD_PLUGIN' => 2,
35
+ 'PACT_HANDLE_INVALID' => 3,
36
+ ]
37
+ FfiPluginInteractionResponse = Hash[
38
+ 'SUCCESS' => 0,
39
+ 'A_GENERAL_PANIC_WAS_CAUGHT' => 1,
40
+ 'MOCK_SERVER_HAS_ALREADY_BEEN_STARTED' => 2,
41
+ 'INTERACTION_HANDLE_IS_INVALID' => 3,
42
+ 'CONTENT_TYPE_IS_NOT_VALID' => 4,
43
+ 'CONTENTS_JSON_IS_NOT_VALID_JSON' => 5,
44
+ 'PLUGIN_RETURNED_AN_ERROR' => 6,
45
+ ]
46
+ FfiInteractionPart = Hash[
47
+ 'INTERACTION_PART_REQUEST' => 0,
48
+ 'INTERACTION_PART_RESPONSE' => 1,
49
+ ]
50
+ # /*
51
+ # -1 A null pointer was received
52
+ # -2 The pact JSON could not be parsed
53
+ # -3 The mock server could not be started
54
+ # -4 The method panicked
55
+ # -5 The address is not valid
56
+ # -6 Could not create the TLS configuration with the self-signed certificate
57
+ # */
58
+ FfiPluginCreateMockServerErrors = Hash[
59
+ 'NULL_POINTER' => -1,
60
+ 'JSON_PARSE_ERROR' => -2,
61
+ 'MOCK_SERVER_START_FAIL' => -3,
62
+ 'CORE_PANIC' => -4,
63
+ 'ADDRESS_NOT_VALID' => -5,
64
+ 'TLS_CONFIG' => -6,
65
+ ]
66
+
67
+ FfiPluginFunctionResult = Hash[
68
+ 'RESULT_OK' => 0,
69
+ 'RESULT_FAILED' => 1,
70
+ ]
71
+
72
+ attach_function :match_message, :pactffi_match_message, %i[pointer pointer], :pointer
73
+ attach_function :mismatches_get_iter, :pactffi_mismatches_get_iter, %i[pointer], :pointer
74
+ attach_function :mismatches_delete, :pactffi_mismatches_delete, %i[pointer], :void
75
+ attach_function :mismatches_iter_next, :pactffi_mismatches_iter_next, %i[pointer], :pointer
76
+ attach_function :mismatches_iter_delete, :pactffi_mismatches_iter_delete, %i[pointer], :void
77
+ attach_function :mismatch_to_json, :pactffi_mismatch_to_json, %i[pointer], :string
78
+ attach_function :mismatch_type, :pactffi_mismatch_type, %i[pointer], :string
79
+ attach_function :mismatch_summary, :pactffi_mismatch_summary, %i[pointer], :string
80
+ attach_function :mismatch_description, :pactffi_mismatch_description, %i[pointer], :string
81
+ attach_function :mismatch_ansi_description, :pactffi_mismatch_ansi_description, %i[pointer], :string
82
+ attach_function :get_error_message, :pactffi_get_error_message, %i[string int32], :int32
83
+ attach_function :parse_pact_json, :pactffi_parse_pact_json, %i[string], :pointer
84
+ attach_function :pact_model_delete, :pactffi_pact_model_delete, %i[pointer], :void
85
+ attach_function :pact_model_interaction_iterator, :pactffi_pact_model_interaction_iterator, %i[pointer], :pointer
86
+ attach_function :pact_spec_version, :pactffi_pact_spec_version, %i[pointer], :int32
87
+ attach_function :pact_interaction_delete, :pactffi_pact_interaction_delete, %i[pointer], :void
88
+ attach_function :consumer_get_name, :pactffi_consumer_get_name, %i[pointer], :string
89
+ attach_function :pact_get_consumer, :pactffi_pact_get_consumer, %i[pointer], :pointer
90
+ attach_function :pact_consumer_delete, :pactffi_pact_consumer_delete, %i[pointer], :void
91
+ attach_function :parse_matcher_definition, :pactffi_parse_matcher_definition, %i[string], :pointer
92
+ attach_function :matcher_definition_error, :pactffi_matcher_definition_error, %i[pointer], :string
93
+ attach_function :matcher_definition_value, :pactffi_matcher_definition_value, %i[pointer], :string
94
+ attach_function :matcher_definition_delete, :pactffi_matcher_definition_delete, %i[pointer], :void
95
+ attach_function :matcher_definition_generator, :pactffi_matcher_definition_generator, %i[pointer], :pointer
96
+ attach_function :matcher_definition_value_type, :pactffi_matcher_definition_value_type, %i[pointer], :int32
97
+ attach_function :matching_rule_iter_delete, :pactffi_matching_rule_iter_delete, %i[pointer], :void
98
+ attach_function :matcher_definition_iter, :pactffi_matcher_definition_iter, %i[pointer], :pointer
99
+ attach_function :matching_rule_iter_next, :pactffi_matching_rule_iter_next, %i[pointer], :pointer
100
+ attach_function :matching_rule_id, :pactffi_matching_rule_id, %i[pointer], :uint16
101
+ attach_function :matching_rule_value, :pactffi_matching_rule_value, %i[pointer], :string
102
+ attach_function :matching_rule_pointer, :pactffi_matching_rule_pointer, %i[pointer], :pointer
103
+ attach_function :matching_rule_reference_name, :pactffi_matching_rule_reference_name, %i[pointer], :string
104
+ attach_function :validate_datetime, :pactffi_validate_datetime, %i[string string], :int32
105
+ attach_function :generator_to_json, :pactffi_generator_to_json, %i[pointer], :string
106
+ attach_function :generator_generate_string, :pactffi_generator_generate_string, %i[pointer string], :string
107
+ attach_function :generator_generate_integer, :pactffi_generator_generate_integer, %i[pointer string], :uint16
108
+ attach_function :generators_iter_delete, :pactffi_generators_iter_delete, %i[pointer], :void
109
+ attach_function :generators_iter_next, :pactffi_generators_iter_next, %i[pointer], :pointer
110
+ attach_function :generators_iter_pair_delete, :pactffi_generators_iter_pair_delete, %i[pointer], :void
111
+ attach_function :matching_rule_to_json, :pactffi_matching_rule_to_json, %i[pointer], :string
112
+ attach_function :matching_rules_iter_delete, :pactffi_matching_rules_iter_delete, %i[pointer], :void
113
+ attach_function :matching_rules_iter_next, :pactffi_matching_rules_iter_next, %i[pointer], :pointer
114
+ attach_function :matching_rules_iter_pair_delete, :pactffi_matching_rules_iter_pair_delete, %i[pointer], :void
115
+ attach_function :provider_state_iter_next, :pactffi_provider_state_iter_next, %i[pointer], :pointer
116
+ attach_function :provider_state_iter_delete, :pactffi_provider_state_iter_delete, %i[pointer], :void
117
+ attach_function :provider_get_name, :pactffi_provider_get_name, %i[pointer], :string
118
+ attach_function :pact_get_provider, :pactffi_pact_get_provider, %i[pointer], :pointer
119
+ attach_function :pact_provider_delete, :pactffi_pact_provider_delete, %i[pointer], :void
120
+ attach_function :provider_state_get_name, :pactffi_provider_state_get_name, %i[pointer], :string
121
+ attach_function :provider_state_get_param_iter, :pactffi_provider_state_get_param_iter, %i[pointer], :pointer
122
+ attach_function :provider_state_param_iter_next, :pactffi_provider_state_param_iter_next, %i[pointer], :pointer
123
+ attach_function :provider_state_delete, :pactffi_provider_state_delete, %i[pointer], :void
124
+ attach_function :provider_state_param_iter_delete, :pactffi_provider_state_param_iter_delete, %i[pointer], :void
125
+ attach_function :provider_state_param_pair_delete, :pactffi_provider_state_param_pair_delete, %i[pointer], :void
126
+ attach_function :string_delete, :pactffi_string_delete, %i[string], :void
127
+ attach_function :generate_datetime_string, :pactffi_generate_datetime_string, %i[string], :pointer
128
+ attach_function :check_regex, :pactffi_check_regex, %i[string string], :bool
129
+ attach_function :generate_regex_value, :pactffi_generate_regex_value, %i[string], :pointer
130
+ attach_function :free_string, :pactffi_free_string, %i[string], :void
131
+ attach_function :new_pact, :pactffi_new_pact, %i[string string], :uint16
132
+ attach_function :interaction_contents, :pactffi_interaction_contents, %i[uint32_type int32 string string],
133
+ :uint32_type
134
+ attach_function :matches_string_value, :pactffi_matches_string_value, %i[pointer string string uint8], :string
135
+ attach_function :matches_u64_value, :pactffi_matches_u64_value, %i[pointer ulong_long ulong_long uint8], :string
136
+ attach_function :matches_i64_value, :pactffi_matches_i64_value, %i[pointer int64 int64 uint8], :string
137
+ attach_function :matches_f64_value, :pactffi_matches_f64_value, %i[pointer double double uint8], :string
138
+ attach_function :matches_bool_value, :pactffi_matches_bool_value, %i[pointer uint8 uint8 uint8], :string
139
+ attach_function :matches_binary_value, :pactffi_matches_binary_value,
140
+ %i[pointer pointer ulong_long pointer ulong_long uint8], :string
141
+ attach_function :matches_json_value, :pactffi_matches_json_value, %i[pointer string string uint8], :string
142
+ end
143
+ end
@@ -0,0 +1,61 @@
1
+ # require 'pact/native_verifier/version'
2
+ # require 'pact/native_verifier/app'
3
+
4
+ # require 'pact-ffi/version'
5
+ require 'ffi'
6
+ require 'pact/detect_os'
7
+
8
+ module PactFfi
9
+ module Verifier
10
+ extend FFI::Library
11
+ ffi_lib DetectOS.get_bin_path
12
+ DetectOS.windows? || DetectOS.linux_arm? ? (typedef :uint32, :uint32_type) : (typedef :uint32_t, :uint32_type)
13
+
14
+ # /*
15
+ # * | Error | Description |
16
+ # * |-------|-------------|
17
+ # * | 1 | The verification process failed, see output for errors |
18
+ # * | 2 | A null pointer was received |
19
+ # * | 3 | The method panicked |
20
+ # * | 4 | Invalid arguments were provided to the verification process |
21
+ # */
22
+ Response = Hash[
23
+ 'VERIFICATION_SUCCESSFUL' => 0,
24
+ 'VERIFICATION_FAILED' => 1,
25
+ 'NULL_POINTER_RECEIVED' => 2,
26
+ 'METHOD_PANICKED' => 3,
27
+ 'INVALID_ARGUMENTS' => 4,
28
+ ]
29
+
30
+ attach_function :verify, :pactffi_verify, %i[string], :int32
31
+ attach_function :new, :pactffi_verifier_new_for_application, %i[], :pointer
32
+ attach_function :new_for_application, :pactffi_verifier_new_for_application, %i[string string], :pointer
33
+ attach_function :shutdown, :pactffi_verifier_shutdown, %i[pointer], :void
34
+ attach_function :set_provider_info, :pactffi_verifier_set_provider_info,
35
+ %i[pointer string string string uint16 string], :void
36
+ attach_function :add_provider_transport, :pactffi_verifier_add_provider_transport,
37
+ %i[pointer string uint16 string string], :void
38
+ attach_function :set_filter_info, :pactffi_verifier_set_filter_info, %i[pointer string string uint8], :void
39
+ attach_function :set_provider_state, :pactffi_verifier_set_provider_state, %i[pointer string uint8 uint8], :void
40
+ attach_function :set_verification_options, :pactffi_verifier_set_verification_options, %i[pointer uint8 ulong_long],
41
+ :int32
42
+ attach_function :set_coloured_output, :pactffi_verifier_set_coloured_output, %i[pointer uint8], :int32
43
+ attach_function :set_no_pacts_is_error, :pactffi_verifier_set_no_pacts_is_error, %i[pointer uint8], :int32
44
+ attach_function :set_publish_options, :pactffi_verifier_set_publish_options,
45
+ %i[pointer string string pointer uint16 string], :int32
46
+ attach_function :set_consumer_filters, :pactffi_verifier_set_consumer_filters, %i[pointer pointer uint16], :void
47
+ attach_function :add_custom_header, :pactffi_verifier_add_custom_header, %i[pointer string string], :void
48
+ attach_function :add_file_source, :pactffi_verifier_add_file_source, %i[pointer string], :void
49
+ attach_function :add_directory_source, :pactffi_verifier_add_directory_source, %i[pointer string], :void
50
+ attach_function :url_source, :pactffi_verifier_url_source, %i[pointer string string string string], :void
51
+ attach_function :broker_source, :pactffi_verifier_broker_source, %i[pointer string string string string], :void
52
+ attach_function :broker_source_with_selectors, :pactffi_verifier_broker_source_with_selectors,
53
+ %i[pointer string string string string uint8 string pointer uint16 string pointer uint16 pointer uint16], :void
54
+ attach_function :execute, :pactffi_verifier_execute, %i[pointer], :int32
55
+ attach_function :cli_args, :pactffi_verifier_cli_args, %i[], :string
56
+ attach_function :logs, :pactffi_verifier_logs, %i[pointer], :string
57
+ attach_function :logs_for_provider, :pactffi_verifier_logs_for_provider, %i[string], :string
58
+ attach_function :output, :pactffi_verifier_output, %i[pointer uint8], :string
59
+ attach_function :json, :pactffi_verifier_json, %i[pointer], :string
60
+ end
61
+ end
@@ -0,0 +1,5 @@
1
+ module Pact
2
+ module Version
3
+ VERSION = '0.4.7'
4
+ end
5
+ end