Skip to content

Commit 9bc1eab

Browse files
committed
fix: add test results to all verifications views
1 parent 1ab8a5d commit 9bc1eab

5 files changed

+157
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
Sequel.migration do
2+
up do
3+
create_or_replace_view(:all_verifications,
4+
from(:verifications).select(
5+
Sequel[:verifications][:id],
6+
Sequel[:verifications][:number],
7+
:success,
8+
:provider_version_id,
9+
Sequel[:v][:number].as(:provider_version_number),
10+
Sequel[:v][:order].as(:provider_version_order),
11+
:build_url,
12+
:pact_version_id,
13+
:execution_date,
14+
Sequel[:verifications][:created_at],
15+
:test_results
16+
).join(:versions, {id: :provider_version_id}, {:table_alias => :v})
17+
)
18+
end
19+
20+
down do
21+
create_or_replace_view(:all_verifications,
22+
from(:verifications).select(
23+
Sequel[:verifications][:id],
24+
Sequel[:verifications][:number],
25+
:success,
26+
:provider_version_id,
27+
Sequel[:v][:number].as(:provider_version_number),
28+
Sequel[:v][:order].as(:provider_version_order),
29+
:build_url,
30+
:pact_version_id,
31+
:execution_date,
32+
Sequel[:verifications][:created_at]
33+
).join(:versions, {id: :provider_version_id}, {:table_alias => :v})
34+
)
35+
end
36+
end
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
Sequel.migration do
2+
up do
3+
# The most recent verification for each pact_version
4+
# provider_version column is DEPRECATED, use provider_version_number
5+
# Think this can be replaced by latest_verification_id_for_pact_version_and_provider_version?
6+
v = :verifications
7+
create_or_replace_view(:latest_verifications,
8+
from(v)
9+
.select(
10+
Sequel[v][:id],
11+
Sequel[v][:number],
12+
Sequel[v][:success],
13+
Sequel[:s][:number].as(:provider_version),
14+
Sequel[v][:build_url],
15+
Sequel[v][:pact_version_id],
16+
Sequel[v][:execution_date],
17+
Sequel[v][:created_at],
18+
Sequel[v][:provider_version_id],
19+
Sequel[:s][:number].as(:provider_version_number),
20+
Sequel[:s][:order].as(:provider_version_order),
21+
Sequel[v][:test_results])
22+
.join(:latest_verification_numbers,
23+
{
24+
Sequel[v][:pact_version_id] => Sequel[:lv][:pact_version_id],
25+
Sequel[v][:number] => Sequel[:lv][:latest_number]
26+
}, { table_alias: :lv })
27+
.join(:versions,
28+
{
29+
Sequel[v][:provider_version_id] => Sequel[:s][:id]
30+
}, { table_alias: :s })
31+
)
32+
end
33+
34+
down do
35+
v = :verifications
36+
create_or_replace_view(:latest_verifications,
37+
from(v)
38+
.select(
39+
Sequel[v][:id],
40+
Sequel[v][:number],
41+
Sequel[v][:success],
42+
Sequel[:s][:number].as(:provider_version),
43+
Sequel[v][:build_url],
44+
Sequel[v][:pact_version_id],
45+
Sequel[v][:execution_date],
46+
Sequel[v][:created_at],
47+
Sequel[v][:provider_version_id],
48+
Sequel[:s][:number].as(:provider_version_number),
49+
Sequel[:s][:order].as(:provider_version_order))
50+
.join(:latest_verification_numbers,
51+
{
52+
Sequel[v][:pact_version_id] => Sequel[:lv][:pact_version_id],
53+
Sequel[v][:number] => Sequel[:lv][:latest_number]
54+
}, { table_alias: :lv })
55+
.join(:versions,
56+
{
57+
Sequel[v][:provider_version_id] => Sequel[:s][:id]
58+
}, { table_alias: :s })
59+
)
60+
end
61+
end
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
Sequel.migration do
2+
up do
3+
# The most recent verification for each pact_version
4+
v = :verifications
5+
create_or_replace_view(:latest_verifications_for_pact_versions,
6+
from(v)
7+
.select(
8+
Sequel[v][:id],
9+
Sequel[v][:number],
10+
Sequel[v][:success],
11+
Sequel[v][:build_url],
12+
Sequel[v][:pact_version_id],
13+
Sequel[v][:execution_date],
14+
Sequel[v][:created_at],
15+
Sequel[v][:provider_version_id],
16+
Sequel[:s][:number].as(:provider_version_number),
17+
Sequel[:s][:order].as(:provider_version_order),
18+
Sequel[v][:test_results])
19+
.join(:latest_verification_ids_for_pact_versions,
20+
{
21+
Sequel[v][:pact_version_id] => Sequel[:lv][:pact_version_id],
22+
Sequel[v][:id] => Sequel[:lv][:latest_verification_id]
23+
}, { table_alias: :lv })
24+
.join(:versions,
25+
{
26+
Sequel[v][:provider_version_id] => Sequel[:s][:id]
27+
}, { table_alias: :s })
28+
)
29+
end
30+
31+
down do
32+
# The most recent verification for each pact_version
33+
v = :verifications
34+
create_view(:latest_verifications_for_pact_versions,
35+
from(v)
36+
.select(
37+
Sequel[v][:id],
38+
Sequel[v][:number],
39+
Sequel[v][:success],
40+
Sequel[v][:build_url],
41+
Sequel[v][:pact_version_id],
42+
Sequel[v][:execution_date],
43+
Sequel[v][:created_at],
44+
Sequel[v][:provider_version_id],
45+
Sequel[:s][:number].as(:provider_version_number),
46+
Sequel[:s][:order].as(:provider_version_order))
47+
.join(:latest_verification_ids_for_pact_versions,
48+
{
49+
Sequel[v][:pact_version_id] => Sequel[:lv][:pact_version_id],
50+
Sequel[v][:id] => Sequel[:lv][:latest_verification_id]
51+
}, { table_alias: :lv })
52+
.join(:versions,
53+
{
54+
Sequel[v][:provider_version_id] => Sequel[:s][:id]
55+
}, { table_alias: :s })
56+
)
57+
end
58+
end

lib/pact_broker/verifications/all_verifications.rb

+1
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,4 @@ def provider
3838
# pact_version_id | integer |
3939
# execution_date | timestamp without time zone |
4040
# created_at | timestamp without time zone |
41+
# test_results | text |

lib/pact_broker/verifications/latest_verification_for_pact_version.rb

+1
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,4 @@ def provider
3636
# provider_version_id | integer |
3737
# provider_version_number | text |
3838
# provider_version_order | integer |
39+
# test_results | text |

0 commit comments

Comments
 (0)