postspec 0.2.4 → 0.2.5
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/lib/postspec/render.rb +12 -5
- data/lib/postspec/version.rb +1 -1
- data/lib/postspec_helper.rb +13 -16
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d9e60d04517c544252ab66c95f0b5d19a5e8fa303673d0252ac4e47f3303d719
|
4
|
+
data.tar.gz: 69555a09052ceebd4046dda3e7dda73446c1272dcbc59f3d2cc6080b99e9cc6e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d79159dd929c7402275367e5c3e03229576e88813f72ac4319213b96683dc8c3195cd6c97fe05ddafed5c12234f177d9208c0eec578a9ab875b03e9c5a3ed1e7
|
7
|
+
data.tar.gz: 51e5c7f1368122938d304c8c26e7bfd5b87e733622c404285b60a70df267210875199dcd5f65121357aba19ca85e2969574be0f370c486e90b6efd9ed9c68f7c
|
data/lib/postspec/render.rb
CHANGED
@@ -47,14 +47,17 @@ module Postspec
|
|
47
47
|
when :create; create_seed_triggers(uids)
|
48
48
|
when :drop; drop_seed_triggers
|
49
49
|
else
|
50
|
-
raise ArgumentError
|
50
|
+
raise ArgumentError, state.inspect
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
54
54
|
def drop_seed_triggers
|
55
|
+
p "DROP"
|
55
56
|
postspec.tables.map { |uid|
|
57
|
+
p "BING"
|
56
58
|
[SEED_BUD_TRIGGER_NAME, SEED_BT_TRIGGER_NAME].map { |trigger|
|
57
59
|
trigger_uid = "#{uid}.#{trigger}()"
|
60
|
+
p trigger_uid
|
58
61
|
postspec.meta.exist?(trigger_uid) ? "drop trigger #{trigger} on #{uid}" : nil
|
59
62
|
}.compact
|
60
63
|
}.flatten
|
@@ -74,14 +77,18 @@ module Postspec
|
|
74
77
|
before update or delete on #{uid}
|
75
78
|
for each row
|
76
79
|
when (old.id <= #{id})
|
77
|
-
execute function
|
80
|
+
execute function postspec_readonly_failure('#{uid}')
|
78
81
|
EOS1
|
79
82
|
bt_sql = <<~EOS2
|
80
|
-
create trigger
|
83
|
+
create trigger postspec_readonly_bt_trg
|
81
84
|
before truncate on #{uid}
|
82
|
-
execute function
|
85
|
+
execute function postspec_readonly_failure('#{uid}')
|
83
86
|
EOS2
|
84
|
-
[
|
87
|
+
[
|
88
|
+
bud_sql.chomp,
|
89
|
+
bt_sql.chomp,
|
90
|
+
"insert into postspec.seeds (table_uid, record_id) values ('#{uid}', #{id})"
|
91
|
+
]
|
85
92
|
}.flatten
|
86
93
|
end
|
87
94
|
|
data/lib/postspec/version.rb
CHANGED
data/lib/postspec_helper.rb
CHANGED
@@ -32,30 +32,27 @@ RSpec.configure do |config|
|
|
32
32
|
end
|
33
33
|
|
34
34
|
config.around(:example) do |example|
|
35
|
-
# puts "postspec_helper around example"
|
36
35
|
if postspec.failed?
|
37
36
|
example.skip
|
38
37
|
else
|
39
38
|
postspec.conn.push_transaction
|
40
39
|
begin
|
41
|
-
# puts ">> TRYING"
|
42
40
|
result = example.run
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
41
|
+
|
42
|
+
case example.execution_result.exception
|
43
|
+
when PG::Error
|
44
|
+
# Collapse whole transaction stack
|
45
|
+
postspec.fail!
|
46
|
+
postspec.conn.cancel_transaction
|
47
|
+
when Exception
|
48
|
+
# Pops only last transaction
|
49
|
+
postspec.fail!
|
50
|
+
postspec.conn.pop_transaction(commit: postspec.failed?)
|
52
51
|
else
|
53
|
-
|
52
|
+
# Success - pop last transaction
|
53
|
+
postspec.conn.pop_transaction(commit: postspec.failed?, fail: false)
|
54
54
|
end
|
55
|
-
rescue
|
56
|
-
puts ">> OTHER EXCEPTIONS"
|
57
|
-
puts ">> OTHER EXCEPTIONS"
|
58
|
-
puts ">> OTHER EXCEPTIONS"
|
55
|
+
rescue => ex # Happens when rspec itself fails
|
59
56
|
postspec.conn.cancel_transaction
|
60
57
|
postspec.fail!
|
61
58
|
raise
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: postspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Claus Rasmussen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-04-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dry-inflector
|
@@ -230,7 +230,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
230
230
|
- !ruby/object:Gem::Version
|
231
231
|
version: '0'
|
232
232
|
requirements: []
|
233
|
-
rubygems_version: 3.3.
|
233
|
+
rubygems_version: 3.3.7
|
234
234
|
signing_key:
|
235
235
|
specification_version: 4
|
236
236
|
summary: postspec gem
|