testkit123 0.1.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
- checksums.yaml.gz.sig +1 -0
- data.tar.gz.sig +0 -0
- data/lib/testkit123.rb +153 -0
- metadata +107 -0
- metadata.gz.sig +0 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 920bf0a0901c6b09370b33e601182a763759e256
|
4
|
+
data.tar.gz: e4ef2fb72744f7a083ddb7399e2ecca26fa8e0c2
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 8acdcc6e58c8e216bba3399f0a65cc878ca1580976e0a82d7fc4cbf66bf22fe9345ca3e4d1da1ff156c708e794eae680667f45476cea0aed643c32c724f8ebef
|
7
|
+
data.tar.gz: 30b89c3e422b261f31191e55533bfa3c5966fa19c9ac3c6b1dc67314850a005f19bb4d0a26991c03d1a32f599827d90bfaa061b7626435e68f7037d6446cb332
|
checksums.yaml.gz.sig
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
�ݧ|��.��%�{��ã�^~����P�H�m�љ��?��C���/���#�kn�d7\���Њ+��On#7F�2�0��o�˕U�ſo 8��2�ʻe������gXD�C����+2W'����}/�{���%vu5�� W�/"���~��[�Y8����hmT�����^�='�TE?e�V��qD!�O�Z���s�����l#����P��S�Ӧ�vm��p��%�1���1/AE��˸�� Øl
|
data.tar.gz.sig
ADDED
Binary file
|
data/lib/testkit123.rb
ADDED
@@ -0,0 +1,153 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# file: testkit123.rb
|
4
|
+
|
5
|
+
require 'rxfhelper'
|
6
|
+
require 'fileutils'
|
7
|
+
require 'simple-config'
|
8
|
+
|
9
|
+
|
10
|
+
class String
|
11
|
+
def camelize
|
12
|
+
self.split('_').collect(&:capitalize).join
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
class TestKit123
|
17
|
+
|
18
|
+
def initialize(templates: {testdata: nil, testx: nil}, project: nil,
|
19
|
+
testdata: nil, debug: false, localpath: nil, datapath: nil,
|
20
|
+
gemtest_url: nil, rubyver: 'ruby-2.5.1')
|
21
|
+
|
22
|
+
@h = templates
|
23
|
+
@project_config = project
|
24
|
+
@testdata, @debug = testdata, debug
|
25
|
+
@localpath, @datapath, @gemtest_url = localpath, datapath, gemtest_url
|
26
|
+
@rubyver = rubyver
|
27
|
+
|
28
|
+
end
|
29
|
+
|
30
|
+
def create_files(project=@project_config)
|
31
|
+
|
32
|
+
puts 'running create_files ...' if @debug
|
33
|
+
|
34
|
+
puts '1) Reading the config file' if @debug
|
35
|
+
raise "missing the config file " unless @project_config
|
36
|
+
raise "config file not found" unless File.exists? @project_config
|
37
|
+
|
38
|
+
config_file = @project_config
|
39
|
+
|
40
|
+
puts 'config_file: ' + config_file.inspect if @debug
|
41
|
+
|
42
|
+
config = SimpleConfig.new(config_file).to_h
|
43
|
+
puts 'config : ' + config.inspect if @debug
|
44
|
+
|
45
|
+
rbfile_buffer = config[:test][:items].join "\n"
|
46
|
+
|
47
|
+
puts 'before project' if @debug
|
48
|
+
proj = config[:project]
|
49
|
+
classname = config[:classname]
|
50
|
+
|
51
|
+
puts 'proj: ' + proj.inspect if @debug
|
52
|
+
|
53
|
+
filepath = config[:local_path] + '/' + proj
|
54
|
+
puts 'filepath: ' + filepath.inspect if @debug
|
55
|
+
datafilepath = config[:data_path] + '/' + proj
|
56
|
+
|
57
|
+
puts 'before ext' if @debug
|
58
|
+
|
59
|
+
ext = config[:testdata_ext][/\.?td$/] ? 'td' : 'xml'
|
60
|
+
|
61
|
+
puts 'before stage 2' if @debug
|
62
|
+
|
63
|
+
puts '2) Making directory for file path ' + filepath.inspect if @debug
|
64
|
+
FileUtils.mkdir_p filepath
|
65
|
+
|
66
|
+
puts '3) Writing the .testdata file' if @debug
|
67
|
+
buffer = config[:http_gemtest] + "%s/testdata_%s.%s" % ([proj, proj, ext])
|
68
|
+
File.write filepath + '/.testdata', buffer
|
69
|
+
|
70
|
+
puts '4) Creating the working code tests from templates' if @debug
|
71
|
+
# fetch the template testdata
|
72
|
+
|
73
|
+
testdata = @h[:testdata].gsub(/(?<=\.)\w+$/, ext)
|
74
|
+
puts 'testdata: ' + testdata.inspect if @debug
|
75
|
+
buffer_testdata, _ = RXFHelper.read(testdata)
|
76
|
+
|
77
|
+
FileUtils.mkdir_p datafilepath
|
78
|
+
|
79
|
+
testdata_file = File.join(datafilepath, "testdata_#{proj}.#{ext}")
|
80
|
+
File.write testdata_file, eval('%{' + buffer_testdata + '}')
|
81
|
+
|
82
|
+
test_template_rsf = @h[:testx]
|
83
|
+
buffer_test, _ = RXFHelper.read(test_template_rsf)
|
84
|
+
|
85
|
+
test_rsffile = File.join(config[:data_path], "#{proj}.rsf")
|
86
|
+
File.write test_rsffile, eval('%{' + buffer_test + '}')
|
87
|
+
|
88
|
+
buffer_rb = %{#!/usr/bin/env ruby
|
89
|
+
|
90
|
+
# file: test_#{proj}.rb
|
91
|
+
|
92
|
+
class Test#{config[:classname]} < Testdata::Base
|
93
|
+
|
94
|
+
def tests()
|
95
|
+
|
96
|
+
#{rbfile_buffer.lines.map {|x| ' '*4 + x}.join}
|
97
|
+
|
98
|
+
end
|
99
|
+
end
|
100
|
+
}
|
101
|
+
|
102
|
+
test_rbfile = File.join(datafilepath, "test_#{proj}.rb")
|
103
|
+
puts 'reading the ruby template file ...' if @debug
|
104
|
+
File.write test_rbfile, eval('%{' + buffer_rb + '}')
|
105
|
+
|
106
|
+
"finished processing #{proj}"
|
107
|
+
end
|
108
|
+
|
109
|
+
def create_standalone()
|
110
|
+
end
|
111
|
+
|
112
|
+
def destroy_files()
|
113
|
+
end
|
114
|
+
|
115
|
+
def new_project(project='myproject', classname=nil, save: false)
|
116
|
+
|
117
|
+
classname ||= project.camelize
|
118
|
+
|
119
|
+
s =<<EOF
|
120
|
+
project: #{project}
|
121
|
+
classname: #{classname}
|
122
|
+
local_path: #{@localpath || '~/test-ruby'}
|
123
|
+
data_path: #{@datapath || '~/gemtest'}
|
124
|
+
http_gemtest: #{@gemtest_url || 'http://mywebsite.com/r/gemtest/'}
|
125
|
+
ruby_version: #{@rubyver}
|
126
|
+
|
127
|
+
# testdata_ext defaults to .xml
|
128
|
+
|
129
|
+
testdata_ext: .xml
|
130
|
+
test:
|
131
|
+
|
132
|
+
test 'to_s only' do |filepath|
|
133
|
+
|
134
|
+
#{classname}.new(filepath).to_s
|
135
|
+
|
136
|
+
end
|
137
|
+
EOF
|
138
|
+
|
139
|
+
|
140
|
+
if save then
|
141
|
+
filepath = File.join(@localpath, project + '.txt')
|
142
|
+
File.write filepath, s
|
143
|
+
puts 'file saved ' + filepath if @debug
|
144
|
+
@project_config = filepath
|
145
|
+
self
|
146
|
+
else
|
147
|
+
s
|
148
|
+
end
|
149
|
+
|
150
|
+
end
|
151
|
+
|
152
|
+
end
|
153
|
+
|
metadata
ADDED
@@ -0,0 +1,107 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: testkit123
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- James Robertson
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain:
|
11
|
+
- |
|
12
|
+
-----BEGIN CERTIFICATE-----
|
13
|
+
MIIDXjCCAkagAwIBAgIBATANBgkqhkiG9w0BAQUFADAsMSowKAYDVQQDDCFnZW1t
|
14
|
+
YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMTgwNzE1MTYwNTQ4WhcN
|
15
|
+
MTkwNzE1MTYwNTQ4WjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
|
16
|
+
cnRzb24vREM9ZXUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtgJ54
|
17
|
+
gKuobwa5Won07os+Evt07yvbyEB7OBxwD3rnv1oNLxlx1wkOD2DNeZd4Otw1Dl6M
|
18
|
+
plfQUJCzRU9sQ5cAKqHVDPpf+EJIPm2bATJlO8w//F/LULbN1h8VsbGBcXUu3VoX
|
19
|
+
m2Bf6EesFKM/+BiMujEDX9EBy3hCJp7Bkn4WMk4PRwUdEBE8TEFj9T947+JVqZdR
|
20
|
+
3s4+DtYzFWbX9MuNzeQlAxcjV1iFgTS2G/GY6k6hJl0HhFnHfqftfqKgLIRZY4yF
|
21
|
+
LIkb5Kvj/yA1gYctId0lk1PrntSchvQvzYDAOrf8lOY3M3JLkiOWzwcRWDoPWCaI
|
22
|
+
PdYjRk0ij/x2zKS3AgMBAAGjgYowgYcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
|
23
|
+
HQYDVR0OBBYEFJig7R4v8LRxNY/3qFTqBFgZT6FzMCYGA1UdEQQfMB2BG2dlbW1h
|
24
|
+
c3RlckBqYW1lc3JvYmVydHNvbi5ldTAmBgNVHRIEHzAdgRtnZW1tYXN0ZXJAamFt
|
25
|
+
ZXNyb2JlcnRzb24uZXUwDQYJKoZIhvcNAQEFBQADggEBAAaMtjTuuZeFtw4VuH9W
|
26
|
+
UozGqMeTxP2VkMw2vmaN+IF6jhNFBIDhgrQGNwijCsFZfMwl7efQ6PM2XIqXtJCZ
|
27
|
+
O8CrfJ+Y64IszwHeNSzyxi1FFMfUYAafQq3E+E8KTk0PaCl9AEa1zxwkBWkGHzKG
|
28
|
+
P1svw5bfBxQ9epcI9Ir00sKkx0S1mANSrwH6k2pKwOSpxhhX2Wlx6L4mnME0CTq8
|
29
|
+
6nk4O0PjUWuXrqQKUG4AtGeMPImOKz8uo+/wyaRZR/I+suAoL2xHo7RYqZwoCfQv
|
30
|
+
MBi32Noiyau3znLWYXucwnOR8dh4RhcwxaP82ZX6Up19+qVqJqravkDQ+OBff6o+
|
31
|
+
m3U=
|
32
|
+
-----END CERTIFICATE-----
|
33
|
+
date: 2018-07-15 00:00:00.000000000 Z
|
34
|
+
dependencies:
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: rxfhelper
|
37
|
+
requirement: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - "~>"
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '0.7'
|
42
|
+
- - ">="
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: 0.7.0
|
45
|
+
type: :runtime
|
46
|
+
prerelease: false
|
47
|
+
version_requirements: !ruby/object:Gem::Requirement
|
48
|
+
requirements:
|
49
|
+
- - "~>"
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
version: '0.7'
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.7.0
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: simple-config
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0.6'
|
62
|
+
- - ">="
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: 0.6.4
|
65
|
+
type: :runtime
|
66
|
+
prerelease: false
|
67
|
+
version_requirements: !ruby/object:Gem::Requirement
|
68
|
+
requirements:
|
69
|
+
- - "~>"
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: '0.6'
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: 0.6.4
|
75
|
+
description:
|
76
|
+
email: james@jamesrobertson.eu
|
77
|
+
executables: []
|
78
|
+
extensions: []
|
79
|
+
extra_rdoc_files: []
|
80
|
+
files:
|
81
|
+
- lib/testkit123.rb
|
82
|
+
homepage: https://github.com/jrobertson/testkit123
|
83
|
+
licenses:
|
84
|
+
- MIT
|
85
|
+
metadata: {}
|
86
|
+
post_install_message:
|
87
|
+
rdoc_options: []
|
88
|
+
require_paths:
|
89
|
+
- lib
|
90
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
91
|
+
requirements:
|
92
|
+
- - ">="
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '0'
|
95
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
96
|
+
requirements:
|
97
|
+
- - ">="
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: '0'
|
100
|
+
requirements: []
|
101
|
+
rubyforge_project:
|
102
|
+
rubygems_version: 2.6.13
|
103
|
+
signing_key:
|
104
|
+
specification_version: 4
|
105
|
+
summary: Generates a test suite of files (for use with the testdata gem) from a config
|
106
|
+
file.
|
107
|
+
test_files: []
|
metadata.gz.sig
ADDED
Binary file
|