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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0a37e17b3250ab5a8ea9553c1c332d946f7bb642eb25c1dad8ebc9c6210ec9d3
4
- data.tar.gz: 7e9042c7fd716f3222b6bc9b7d7409048ea35531da880e96e80f961fb50b76d5
3
+ metadata.gz: d9e60d04517c544252ab66c95f0b5d19a5e8fa303673d0252ac4e47f3303d719
4
+ data.tar.gz: 69555a09052ceebd4046dda3e7dda73446c1272dcbc59f3d2cc6080b99e9cc6e
5
5
  SHA512:
6
- metadata.gz: 5c12cdecb6a05d0e0086d59cf2045f0f7b5d969f3df6759d3d5343f089c371657a546b3347f26799dd469ecd88516b106fbc8f5289244371b86ba98fa7230068
7
- data.tar.gz: d4e07f0c8a8cfda85c27586088e95e6a77701fe478e643c612603dbb14df3151caafcbccbdddb17a4e3ae8938f4555f0369339702d8592cc43463c0739388142
6
+ metadata.gz: d79159dd929c7402275367e5c3e03229576e88813f72ac4319213b96683dc8c3195cd6c97fe05ddafed5c12234f177d9208c0eec578a9ab875b03e9c5a3ed1e7
7
+ data.tar.gz: 51e5c7f1368122938d304c8c26e7bfd5b87e733622c404285b60a70df267210875199dcd5f65121357aba19ca85e2969574be0f370c486e90b6efd9ed9c68f7c
@@ -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 postspec.readonly_failure('#{uid}')
80
+ execute function postspec_readonly_failure('#{uid}')
78
81
  EOS1
79
82
  bt_sql = <<~EOS2
80
- create trigger postspec_readonly_trigger_bt
83
+ create trigger postspec_readonly_bt_trg
81
84
  before truncate on #{uid}
82
- execute function postspec.readonly_failure('#{uid}')
85
+ execute function postspec_readonly_failure('#{uid}')
83
86
  EOS2
84
- [bud_sql, bt_sql, "insert into postspec.seeds (table_uid, record_id) values ('#{uid}', #{id})"]
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
 
@@ -1,3 +1,3 @@
1
1
  module Postspec
2
- VERSION = "0.2.4"
2
+ VERSION = "0.2.5"
3
3
  end
@@ -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
- # puts ">> RESULT: #{result.inspect} (#{result.class})"
44
- # puts ">> EXAMPLE: #{example.exception.inspect} (#{example.exception.class})"
45
- # puts ">> EXECUTION_RESULT: #{example.execution_result}"
46
- if result.is_a?(PG::Error)
47
- postspec.fail!
48
- postspec.conn.cancel_transaction
49
- elsif result.is_a?(Exception)
50
- postspec.fail!
51
- postspec.conn.pop_transaction(commit: postspec.failed?)
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
- postspec.conn.pop_transaction(commit: postspec.failed?)
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
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: 2023-12-18 00:00:00.000000000 Z
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.18
233
+ rubygems_version: 3.3.7
234
234
  signing_key:
235
235
  specification_version: 4
236
236
  summary: postspec gem