rspec-qbec 0.0.1.beta.0
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 +7 -0
- data/.gitignore +3 -0
- data/lib/rspec/qbec/helper.rb +62 -0
- data/lib/rspec/qbec/version.rb +11 -0
- data/lib/rspec/qbec.rb +11 -0
- data/rspec-qbec.gemspec +24 -0
- metadata +89 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: f65802ef75cba1e2c39d84919083fa5f129fcef1927a88f2d2a148a586fd0cfe
|
4
|
+
data.tar.gz: d8a5ee644b2d896980581ff7e47260f4071f79d290c621e486fac5d25de9e9a3
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 8d1ac8fbd82c9b7196dd6841e1f9820c5ef227fae11cc480cd1dd268d6bb7f46ea9264d63397512098614a769f82076c759fa2465de31fa5c55b08c0a7841c03
|
7
|
+
data.tar.gz: 984c050fd1c5e4aca0f3ae5d713c7cfaf696e4151a308fa99a9019484c5d66c350b5c2b93fb42289d0cc6b97ce5d12378f3dba9bda3ed342181093dcf56e4744
|
data/.gitignore
ADDED
@@ -0,0 +1,62 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'time'
|
4
|
+
require 'yaml'
|
5
|
+
require 'tmpdir'
|
6
|
+
|
7
|
+
module RSpec
|
8
|
+
module Qbec
|
9
|
+
def run(cmd)
|
10
|
+
Open3.capture3(cmd)
|
11
|
+
end
|
12
|
+
|
13
|
+
def run_qbec(env = '', args = '')
|
14
|
+
run("qbec --root #{RSpec.configuration.qbec_root} show #{args} #{env}")
|
15
|
+
end
|
16
|
+
|
17
|
+
def to_ostruct(object)
|
18
|
+
case object
|
19
|
+
when Hash
|
20
|
+
OpenStruct.new(object.transform_values { |v| to_ostruct(v) })
|
21
|
+
when Array
|
22
|
+
object.map { |x| to_ostruct(x) }
|
23
|
+
else
|
24
|
+
object
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def yaml(str, kind = '')
|
29
|
+
matches = str.split(/(?:\n+|\A)---(?:\n+|\Z)/m)
|
30
|
+
res = []
|
31
|
+
matches.each do |v|
|
32
|
+
res << to_ostruct(YAML.safe_load(v)) if v != ''
|
33
|
+
end
|
34
|
+
if kind != ''
|
35
|
+
kind = kind.downcase
|
36
|
+
res = res.select { |v| v.kind.downcase == kind }
|
37
|
+
end
|
38
|
+
res
|
39
|
+
end
|
40
|
+
|
41
|
+
def yaml_several(str, template)
|
42
|
+
match = str.match(/#{regexp_source(template)}\n(.+?)\n(# Source|\z)/m)
|
43
|
+
return if match.nil?
|
44
|
+
|
45
|
+
str_ar = match[1].split('---')
|
46
|
+
yamls = str_ar.each_with_object([]) do |el, res|
|
47
|
+
res << to_ostruct(YAML.safe_load(el))
|
48
|
+
end
|
49
|
+
yamls.reject { |el| el == false }.compact
|
50
|
+
end
|
51
|
+
|
52
|
+
def write_file(str)
|
53
|
+
file_path = ''
|
54
|
+
loop do
|
55
|
+
file_path = Dir.tmpdir + "/qbec_#{DateTime.now.strftime('%Q')}"
|
56
|
+
break unless File.exist?(file_path)
|
57
|
+
end
|
58
|
+
File.open(file_path, 'w') { |file| file.write(str) }
|
59
|
+
file_path
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
data/lib/rspec/qbec.rb
ADDED
data/rspec-qbec.gemspec
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
lib = File.expand_path('lib', __dir__)
|
2
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
+
require 'rspec/qbec/version'
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = 'rspec-qbec'
|
7
|
+
spec.version = RSpec::Qbec.version
|
8
|
+
|
9
|
+
spec.authors = ['Rustam Zagirov']
|
10
|
+
spec.email = 'stammru@gmail.com'
|
11
|
+
|
12
|
+
spec.summary = 'Helpers for qbec run'
|
13
|
+
spec.description = 'RSpec::Wait enables time-resilient expectations in your RSpec test suite.' # rubocop:disable Metrics/LineLength
|
14
|
+
spec.homepage = 'https://github.com/stamm/rspec-qbec'
|
15
|
+
spec.license = 'MIT'
|
16
|
+
|
17
|
+
spec.files = `git ls-files -z`.split("\x0")
|
18
|
+
spec.test_files = spec.files.grep(/^spec/)
|
19
|
+
|
20
|
+
|
21
|
+
spec.add_runtime_dependency 'rspec', '~> 3'
|
22
|
+
spec.add_development_dependency 'bundler'
|
23
|
+
spec.add_development_dependency 'rake'
|
24
|
+
end
|
metadata
ADDED
@@ -0,0 +1,89 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rspec-qbec
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1.beta.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Rustam Zagirov
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2020-05-21 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rspec
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '3'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '3'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
description: RSpec::Wait enables time-resilient expectations in your RSpec test suite.
|
56
|
+
email: stammru@gmail.com
|
57
|
+
executables: []
|
58
|
+
extensions: []
|
59
|
+
extra_rdoc_files: []
|
60
|
+
files:
|
61
|
+
- ".gitignore"
|
62
|
+
- lib/rspec/qbec.rb
|
63
|
+
- lib/rspec/qbec/helper.rb
|
64
|
+
- lib/rspec/qbec/version.rb
|
65
|
+
- rspec-qbec.gemspec
|
66
|
+
homepage: https://github.com/stamm/rspec-qbec
|
67
|
+
licenses:
|
68
|
+
- MIT
|
69
|
+
metadata: {}
|
70
|
+
post_install_message:
|
71
|
+
rdoc_options: []
|
72
|
+
require_paths:
|
73
|
+
- lib
|
74
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
75
|
+
requirements:
|
76
|
+
- - ">="
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: '0'
|
79
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - ">"
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: 1.3.1
|
84
|
+
requirements: []
|
85
|
+
rubygems_version: 3.1.2
|
86
|
+
signing_key:
|
87
|
+
specification_version: 4
|
88
|
+
summary: Helpers for qbec run
|
89
|
+
test_files: []
|