8
8
ENV [ 'RACK_ENV' ] = 'development'
9
9
require 'sequel'
10
10
require 'logger'
11
- DATABASE_CREDENTIALS = { logger : Logger . new ( $stdout) , adapter : "sqlite" , database : ARGV [ 0 ] , :encoding => 'utf8' }
11
+ DATABASE_CREDENTIALS = { logger : Logger . new ( $stdout) , adapter : "sqlite" , database : ARGV [ 0 ] , :encoding => 'utf8' } . tap { | it | puts it }
12
12
#DATABASE_CREDENTIALS = {adapter: "postgres", database: "pact_broker", username: 'pact_broker', password: 'pact_broker', :encoding => 'utf8'}
13
13
14
14
connection = Sequel . connect ( DATABASE_CREDENTIALS )
15
15
connection . timezone = :utc
16
+ # Uncomment these lines to open a pry session for inspecting the database
17
+ # require 'table_print'
18
+ # require 'pry'; pry(binding);
19
+ # exit
20
+
16
21
require 'pact_broker/db'
17
22
PactBroker ::DB . connection = connection
18
23
require 'pact_broker'
19
24
require 'support/test_data_builder'
20
25
21
- # Uncomment these lines to open a pry session for inspecting the database
22
- # require 'table_print'
23
- # require 'pry'; pry(binding);
24
- # exit
25
26
26
27
require 'database/table_dependency_calculator'
27
28
PactBroker ::Database ::TableDependencyCalculator . call ( connection ) . each do | table_name |
28
29
connection [ table_name ] . delete
29
30
end
30
31
31
- class TestDataBuilder
32
- def method_missing *args
33
- self
34
- end
35
-
36
- def publish_pact params = { }
37
- create_pact params
38
- end
39
- end
40
-
41
- # latest verifications
42
- # TestDataBuilder.new
43
- # .create_consumer("Foo")
44
- # .create_provider("Bar")
45
- # .create_consumer_version("1.2.3")
46
- # .create_pact
47
- # .create_verification(provider_version: "4.5.6", success: true)
48
- # .create_provider("Wiffle")
49
- # .create_pact
50
- # .create_verification(provider_version: "5.6.7", success: false)
51
- # .create_provider("Meep")
52
- # .create_pact
32
+ # .create_webhook(method: 'GET', url: 'https://localhost:9393?url=${pactbroker.pactUrl}', body: '${pactbroker.pactUrl}')
53
33
34
+ webhook_body = {
35
+ 'pactUrl' => '${pactbroker.pactUrl}' ,
36
+ 'verificationResultUrl' => '${pactbroker.verificationResultUrl}' ,
37
+ 'consumerVersionNumber' => '${pactbroker.consumerVersionNumber}' ,
38
+ 'providerVersionNumber' => '${pactbroker.providerVersionNumber}' ,
39
+ 'providerVersionTags' => '${pactbroker.providerVersionTags}' ,
40
+ 'consumerVersionTags' => '${pactbroker.consumerVersionTags}' ,
41
+ 'consumerName' => '${pactbroker.consumerName}' ,
42
+ 'providerName' => '${pactbroker.providerName}' ,
43
+ 'githubVerificationStatus' => '${pactbroker.githubVerificationStatus}'
44
+ }
54
45
55
- # .create_webhook(method: 'GET', url: 'https://localhost:9393?url=${pactbroker.pactUrl}', body: '${pactbroker.pactUrl}')
56
46
TestDataBuilder . new
57
47
. create_global_webhook ( method : 'GET' , url : "http://example.org?consumer=${pactbroker.consumerName}&provider=${pactbroker.providerName}" )
58
48
. create_certificate ( path : 'spec/fixtures/certificates/self-signed.badssl.com.pem' )
49
+ . create_consumer ( "Bethtest" )
50
+ . create_verification_webhook ( method : 'POST' , url : "http://localhost:9292" , body : webhook_body )
59
51
. create_consumer ( "Foo" )
60
52
. create_label ( "microservice" )
61
53
. create_provider ( "Bar" )
@@ -65,33 +57,33 @@ def publish_pact params = {}
65
57
. create_provider_webhook ( method : 'GET' , url : 'https://theage.com.au' )
66
58
. create_webhook ( method : 'GET' , url : 'https://self-signed.badssl.com' )
67
59
. create_consumer_version ( "1.2.100" )
68
- . publish_pact
60
+ . create_pact
69
61
. create_verification ( provider_version : "1.4.234" , success : true , execution_date : DateTime . now - 15 )
70
62
. revise_pact
71
63
. create_consumer_version ( "1.2.101" )
72
64
. create_consumer_version_tag ( 'prod' )
73
- . publish_pact
65
+ . create_pact
74
66
. create_verification ( provider_version : "9.9.10" , success : false , execution_date : DateTime . now - 15 )
75
67
. create_consumer_version ( "1.2.102" )
76
- . publish_pact ( created_at : ( Date . today - 7 ) . to_datetime )
68
+ . create_pact ( created_at : ( Date . today - 7 ) . to_datetime )
77
69
. create_verification ( provider_version : "9.9.9" , success : true , execution_date : DateTime . now - 14 )
78
70
. create_provider ( "Animals" )
79
71
. create_webhook ( method : 'GET' , url : 'http://localhost:9393/' )
80
- . publish_pact ( created_at : ( Time . now - 140 ) . to_datetime )
72
+ . create_pact ( created_at : ( Time . now - 140 ) . to_datetime )
81
73
. create_verification ( provider_version : "2.0.366" , execution_date : Date . today - 2 ) #changed
82
74
. create_provider ( "Wiffles" )
83
- . publish_pact
75
+ . create_pact
84
76
. create_verification ( provider_version : "3.6.100" , success : false , execution_date : Date . today - 7 )
85
77
. create_provider ( "Hello World App" )
86
78
. create_consumer_version ( "1.2.107" )
87
- . publish_pact ( created_at : ( Date . today - 1 ) . to_datetime )
79
+ . create_pact ( created_at : ( Date . today - 1 ) . to_datetime )
88
80
. create_consumer ( "The Android App" )
89
81
. create_provider ( "The back end" )
90
82
. create_webhook ( method : 'GET' , url : 'http://localhost:9393/' )
91
83
. create_consumer_version ( "1.2.106" )
92
84
. create_consumer_version_tag ( "production" )
93
85
. create_consumer_version_tag ( "feat-x" )
94
- . publish_pact
86
+ . create_pact
95
87
. create_consumer ( "Some other app" )
96
88
. create_provider ( "A service" )
97
89
. create_webhook ( method : 'GET' , url : 'http://localhost:9393/' )
@@ -101,20 +93,5 @@ def publish_pact params = {}
101
93
. create_triggered_webhook ( status : 'failure' )
102
94
. create_webhook_execution
103
95
. create_consumer_version ( "1.2.106" )
104
- . publish_pact ( created_at : ( Date . today - 26 ) . to_datetime )
96
+ . create_pact ( created_at : ( Date . today - 26 ) . to_datetime )
105
97
. create_verification ( provider_version : "4.8.152" , execution_date : DateTime . now )
106
-
107
- # TestDataBuilder.new
108
- # .create_pact_with_hierarchy("A", "1", "B")
109
- # .create_consumer_version_tag("master")
110
- # .create_consumer_version_tag("prod")
111
- # .create_verification(provider_version: "1")
112
- # .create_consumer_version("2")
113
- # .create_consumer_version_tag("master")
114
- # .create_pact
115
- # .create_verification(provider_version: "2")
116
-
117
- # TestDataBuilder.new
118
- # .create_pact_with_hierarchy("Foo", "1", "Bar")
119
- # .create_webhook(method: 'GET', url: 'http://localhost:9393', events: [{ name: 'provider_verification_published' }, {name: ''}])
120
-
0 commit comments