tla-sbuilder 0.2.2 → 0.3.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +150 -116
- data/VERSION +1 -1
- data/lib/cli/cli-customer.rb +23 -3
- data/lib/cli/cli-pet.rb +66 -12
- data/lib/cli/cli-text.rb +127 -8
- data/lib/cli/cli.rb +49 -6
- data/lib/sbuilder.rb +26 -3
- data/lib/sbuilder/constants.rb +165 -6
- data/lib/sbuilder/controller.rb +943 -169
- data/lib/sbuilder/controller_utils.rb +122 -0
- data/lib/sbuilder/default-sbuilder.yaml +38 -44
- data/lib/sbuilder/domain.rb +160 -36
- data/lib/sbuilder/domain_cardinality.rb +1 -1
- data/lib/sbuilder/domain_range.rb +102 -0
- data/lib/sbuilder/domain_type.rb +150 -0
- data/lib/sbuilder/domain_value.rb +21 -13
- data/lib/sbuilder/exception.rb +16 -0
- data/lib/sbuilder/extension_loader.rb +67 -686
- data/lib/sbuilder/extension_loader_deprecated_step_extensions.rb +711 -0
- data/lib/sbuilder/extension_loader_step_generator.rb +876 -0
- data/lib/sbuilder/facade/{api_loader.rb → api_loader_facade.rb} +176 -45
- data/lib/sbuilder/facade/api_loader_plugin.rb +6 -32
- data/lib/sbuilder/facade/api_loader_plugin_mixer.rb +35 -0
- data/lib/sbuilder/facade/facade_constants.rb +23 -0
- data/lib/sbuilder/facade/loader_plugin_root.rb +56 -0
- data/lib/sbuilder/facade/param_set_root.rb +55 -0
- data/lib/sbuilder/facade/snippet_loader_facade.rb +600 -0
- data/lib/sbuilder/facade/snippet_loader_plugin.rb +76 -0
- data/lib/sbuilder/facade/snippet_loader_plugin_mixer.rb +56 -0
- data/lib/sbuilder/factory.rb +224 -45
- data/lib/sbuilder/model.rb +125 -45
- data/lib/sbuilder/mustache/template.rb +107 -58
- data/lib/sbuilder/mustache/template_reader.rb +56 -46
- data/lib/sbuilder/mustache/template_reader_context.rb +64 -234
- data/lib/sbuilder/mustache/template_resolve.rb +103 -0
- data/lib/sbuilder/mustache/template_root.rb +71 -0
- data/lib/sbuilder/param_set.rb +30 -15
- data/lib/sbuilder/param_set_db.rb +1 -1
- data/lib/sbuilder/param_set_def.rb +6 -1
- data/lib/sbuilder/param_set_def_func.rb +39 -0
- data/lib/sbuilder/param_set_if.rb +45 -10
- data/lib/sbuilder/param_set_loader_swagger.rb +56 -26
- data/lib/sbuilder/param_set_step.rb +1 -1
- data/lib/sbuilder/param_sets.rb +2 -1
- data/lib/sbuilder/parameter.rb +9 -3
- data/lib/sbuilder/parameter_container.rb +1 -1
- data/lib/sbuilder/parameter_dom.rb +17 -5
- data/lib/sbuilder/parameter_ref.rb +39 -10
- data/lib/sbuilder/parser/parser_facade.rb +310 -0
- data/lib/sbuilder/resolver.rb +11 -6
- data/lib/sbuilder/resolver_loader.rb +1 -1
- data/lib/sbuilder/resolver_loader_yaml.rb +1 -1
- data/lib/sbuilder/resolver_rule.rb +1 -1
- data/lib/sbuilder/resolver_rule_match.rb +10 -4
- data/lib/sbuilder/resolver_rule_ref.rb +1 -1
- data/lib/sbuilder/setup_loader.rb +49 -0
- data/lib/sbuilder/setup_loader_env.rb +478 -0
- data/lib/sbuilder/setup_loader_pref.rb +56 -0
- data/lib/sbuilder/snippet_loader_simple.rb +125 -0
- data/lib/sbuilder/spec/api_loader.rb +34 -0
- data/lib/sbuilder/spec/api_loader_facade.rb +169 -32
- data/lib/sbuilder/spec/loader_plugin.rb +98 -0
- data/lib/sbuilder/spec/snippet_loader.rb +228 -0
- data/lib/sbuilder/symbol_table.rb +279 -0
- data/lib/utils/{cache_lines.rb → fileio.rb} +8 -1
- data/lib/utils/logger.rb +2 -1
- data/lib/utils/powerset.rb +13 -0
- data/lib/utils/validate.rb +38 -0
- data/mustache/cfg/const_def.mustache +2 -0
- data/mustache/cfg/macro_run.mustache +1 -4
- data/mustache/data-model-header.mustache +1 -0
- data/mustache/definition_types.mustache +34 -4
- data/mustache/domains.mustache +1 -1
- data/mustache/domains_assign.mustache +1 -1
- data/mustache/infrastructure-service-init.mustache +1 -1
- data/mustache/interface_processes.mustache +16 -10
- data/mustache/interface_types.mustache +37 -11
- data/mustache/operator-infrastructure-service.mustache +1 -1
- data/mustache/resources/schedule_operator_new_step.tla +8 -0
- data/mustache/resources/schedule_process_macro.tla +37 -0
- data/mustache/resources/schedule_process_procedure.tla +22 -0
- data/mustache/resources/schedule_throw.tla +16 -0
- data/mustache/setup/domains_run.mustache +8 -2
- data/mustache/setup/operator_run.mustache +0 -4
- data/mustache/setup/steps_run.mustache +4 -3
- data/mustache/setup/steps_run_parameterBind.mustache +14 -6
- data/mustache/setup/steps_run_parameterExact.mustache +7 -3
- data/mustache/state_type_invariant-infrastructure-service.mustache +9 -4
- data/mustache/tla/const_def.mustache +1 -1
- data/mustache/tla/macro_run.mustache +7 -1
- data/mustache/tla/module_header.mustache +1 -1
- data/mustache/tla/operator_run.mustache +8 -5
- data/mustache/tla/plc_define_run.mustache +45 -36
- data/mustache/tla/plc_run_state.mustache +12 -5
- data/src-extend/extend/extend_assumptions.mustache +3 -0
- data/src-extend/extend/extend_const.mustache +3 -0
- data/src-extend/extend/extend_implementation.mustache +3 -0
- data/src-extend/extend/extend_invariant.mustache +3 -0
- data/src-extend/extend/extend_macros.mustache +3 -0
- data/src-extend/extend/extend_operations.mustache +3 -0
- data/src-extend/extend/extend_state.mustache +3 -0
- data/src/pet/extend/extend_assumptions.mustache +4 -0
- data/src/pet/extend/extend_implementation.mustache +3 -0
- data/src/pet/extend/extend_invariant.mustache +3 -0
- data/src/pet/extend/extend_macros.mustache +3 -0
- data/src/pet/extend/extend_operations.mustache +4 -0
- data/src/pet/extend/extend_state.mustache +3 -0
- data/src/pet/interface +5 -5
- data/src/pet/interface_delete_pet.tla +1 -1
- data/src/pet/interface_get_pet.tla +1 -1
- data/src/pet/interface_post_pet.tla +4 -2
- data/src/pet/interface_post_tag.tla +1 -1
- data/src/pet/interface_put_tag.tla +1 -1
- data/tla-sbuilder.gemspec +3 -3
- metadata +44 -19
- data/mustache/name_definition_type.mustache +0 -5
- data/mustache/name_domain.mustache +0 -5
- data/mustache/name_domain_value.mustache +0 -5
- data/mustache/name_domain_value_prefix.mustache +0 -5
- data/mustache/name_interface_response_type.mustache +0 -6
- data/mustache/name_interface_type.mustache +0 -6
- data/mustache/name_parameter_type.mustache +0 -6
- data/mustache/name_process.mustache +0 -6
- data/mustache/state_type_invariant.mustache +0 -17
- data/mustache/state_variables.mustache +0 -20
- data/src-extend/extend/extend_invariant_cfg.mustache +0 -7
@@ -0,0 +1,56 @@
|
|
1
|
+
module Sbuilder
|
2
|
+
|
3
|
+
|
4
|
+
# Abstaract base class
|
5
|
+
class SetupLoaderPref < SetupLoader
|
6
|
+
|
7
|
+
# ------------------------------------------------------------------
|
8
|
+
# Validation
|
9
|
+
|
10
|
+
|
11
|
+
# ------------------------------------------------------------------
|
12
|
+
# mix logger
|
13
|
+
|
14
|
+
PROGNAME = nil # progname for logger default class name
|
15
|
+
include Sbuilder::Utils::MyLogger # mix logger
|
16
|
+
|
17
|
+
|
18
|
+
# ------------------------------------------------------------------
|
19
|
+
# @!group Construct & configure
|
20
|
+
|
21
|
+
|
22
|
+
def initialize( options = {} )
|
23
|
+
@logger = getLogger( nil, options )
|
24
|
+
@logger.info( "#{__method__} initialized options=#{options}" )
|
25
|
+
|
26
|
+
super( options )
|
27
|
+
end
|
28
|
+
|
29
|
+
|
30
|
+
# @!endgroup
|
31
|
+
|
32
|
+
# ------------------------------------------------------------------
|
33
|
+
# @!group Abstract methods from parent class
|
34
|
+
|
35
|
+
##
|
36
|
+
# Pass 'extensionDef' for 'controller' use to #updatetSetup of
|
37
|
+
# setup 'setupName'
|
38
|
+
#
|
39
|
+
# @param [Hash:Array] extensionDef configuration defining loading
|
40
|
+
def doLoad( extensionDefs )
|
41
|
+
Utils::Validate.validateProperties( extensionDefs, Constants::VALIDATION[:SetupLoaderPref][:required], Constants::VALIDATION[:SetupLoaderPref][:allowed] )
|
42
|
+
controller.updateSetup( setupName, extensionDefs )
|
43
|
+
end
|
44
|
+
|
45
|
+
# @!endgroup
|
46
|
+
|
47
|
+
# ------------------------------------------------------------------
|
48
|
+
# @!group Implement load
|
49
|
+
|
50
|
+
|
51
|
+
# @!endgroup
|
52
|
+
|
53
|
+
|
54
|
+
end # class
|
55
|
+
|
56
|
+
end # module
|
@@ -0,0 +1,125 @@
|
|
1
|
+
module Sbuilder
|
2
|
+
|
3
|
+
class SnippetLoaderSimple < Sbuilder::SnippetLoaderPlugin
|
4
|
+
|
5
|
+
# PROPS_REQUIRED = %w( metatype appName )
|
6
|
+
# PROPS_ALLOWED = %w( name file )
|
7
|
+
|
8
|
+
# REQUIRED_CONFIG_PROPS = %w( src_dir )
|
9
|
+
# ALLOWED_CONFIG_PROPS = %w() # = required
|
10
|
+
|
11
|
+
extend Forwardable # for easy delegation
|
12
|
+
|
13
|
+
extend SingleForwardable # for of class methods
|
14
|
+
|
15
|
+
def_delegator Sbuilder::SnippetLoaderPlugin, :validateProperties
|
16
|
+
|
17
|
+
@@src_dir = "./src" # default directory where files are read
|
18
|
+
|
19
|
+
# ------------------------------------------------------------------
|
20
|
+
# @!group Constructor and configuration
|
21
|
+
|
22
|
+
def initialize( options = {} )
|
23
|
+
super( options )
|
24
|
+
end
|
25
|
+
|
26
|
+
# Class method to configure class 'SnippetLoaderPlugin'
|
27
|
+
#
|
28
|
+
# @param configuration [Hash] properties to configure
|
29
|
+
#
|
30
|
+
def self.configure( configuration )
|
31
|
+
return if configuration.nil?
|
32
|
+
Sbuilder::Utils::Validate.validateProperties(
|
33
|
+
configuration,
|
34
|
+
Constants::VALIDATION[:snippet_loader_plugin][:class_config_required],
|
35
|
+
Constants::VALIDATION[:snippet_loader_plugin][:class_config_allowed] )
|
36
|
+
@@src_dir = configuration['src_dir']
|
37
|
+
end
|
38
|
+
|
39
|
+
|
40
|
+
# base class should implement 'doConfigure'
|
41
|
+
def doConfigure( configuration )
|
42
|
+
|
43
|
+
if configuration.nil?
|
44
|
+
logger.warn "#{__method__}: no cofiguration for #{self.class}"
|
45
|
+
return
|
46
|
+
end
|
47
|
+
Sbuilder::Utils::Validate.validateProperties(
|
48
|
+
configuration,
|
49
|
+
Constants::VALIDATION[:snippet_loader_plugin][:object_config_required],
|
50
|
+
Constants::VALIDATION[:snippet_loader_plugin][:object_config_allowed] )
|
51
|
+
|
52
|
+
# hash with metatypes as keys
|
53
|
+
configuration['metatypes'] && configuration['metatypes'].each do |metatype,desc|
|
54
|
+
registerMetatype( metatype, desc )
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
58
|
+
|
59
|
+
|
60
|
+
# @!endgroup
|
61
|
+
|
62
|
+
# ------------------------------------------------------------------
|
63
|
+
# @!group Register snippets to sbuilder
|
64
|
+
|
65
|
+
# Override abstract method in parent class for the implementation.
|
66
|
+
#
|
67
|
+
# @param [Hash:Array] snippetDefitions given in sbuilder.yaml
|
68
|
+
#
|
69
|
+
def doRegisterSnippets( snippetDefitions )
|
70
|
+
logger.info "#{__method__}, loading snippetDefitions=#{snippetDefitions}"
|
71
|
+
|
72
|
+
snippetDefitions && snippetDefitions.each do |snippetDefition|
|
73
|
+
|
74
|
+
# gets actually delegated
|
75
|
+
# Sbuilder::Utils::Validate.validateProperties( snippetDefition, PROPS_REQUIRED, PROPS_ALLOWED )
|
76
|
+
Utils::Validate.validateProperties( snippetDefition, Constants::VALIDATION[:snippet_loader_plugin][:required], Constants::VALIDATION[:snippet_loader_plugin][:allowed] )
|
77
|
+
# 0 allowed, max one allowed from url/file
|
78
|
+
Utils::Validate.oneOf( snippetDefition, Constants::VALIDATION[:snippet_loader_plugin][:one_of_file_or_url], 0, 1 )
|
79
|
+
|
80
|
+
# read content of snippetDefition['file'] into a [String}
|
81
|
+
snippetBody = readFile( src_path( snippetDefition ) ) if snippetDefition['file'] || snippetDefition['url']
|
82
|
+
|
83
|
+
# pass 'snippetBody' together with metatypes to facade
|
84
|
+
snippetFacade.handOver( snippetDefition['metatype'], snippetDefition['appName'], snippetBody, snippetDefition['name'], )
|
85
|
+
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
# @!endgroup
|
90
|
+
|
91
|
+
# ------------------------------------------------------------------
|
92
|
+
# @!group Simple plugin implementation
|
93
|
+
|
94
|
+
# Read file pointed by 'location'
|
95
|
+
#
|
96
|
+
# @param [String] location to read
|
97
|
+
#
|
98
|
+
# @return [String] lines in file in 'location'
|
99
|
+
def readFile( location )
|
100
|
+
@logger.info "#{__method__}: location=#{location}"
|
101
|
+
line = Sbuilder::Utils::NetIo.read_lines( location )
|
102
|
+
end
|
103
|
+
|
104
|
+
# @param [Hash] snippetDefition configuration for location
|
105
|
+
# @option snippetDefition [String] url read from url (=e.g. path)
|
106
|
+
# @option snippetDefition [String] file read from file in src -repository
|
107
|
+
#
|
108
|
+
# @return [String] path to file to read 'url' or +src_dir+ + +file+
|
109
|
+
def src_path( snippetDefition )
|
110
|
+
return snippetDefition['url'] if snippetDefition['url']
|
111
|
+
return File.join( src_dir, snippetDefition['file'])
|
112
|
+
end
|
113
|
+
|
114
|
+
# @return [String] path to directory, where src files are
|
115
|
+
def src_dir
|
116
|
+
@@src_dir || "."
|
117
|
+
end
|
118
|
+
|
119
|
+
|
120
|
+
# @!endgroup
|
121
|
+
|
122
|
+
|
123
|
+
end
|
124
|
+
|
125
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'sbuilder'
|
2
|
+
|
3
|
+
|
4
|
+
RSpec.shared_examples_for "api_loader_plugin: signature" do
|
5
|
+
|
6
|
+
describe "Interface of API Loader Plugin" do
|
7
|
+
|
8
|
+
it "#load" do
|
9
|
+
expect( loader ).to respond_to( :load )
|
10
|
+
end
|
11
|
+
|
12
|
+
it "#load" do
|
13
|
+
expect( loader.class ).to respond_to( :configure )
|
14
|
+
end
|
15
|
+
|
16
|
+
|
17
|
+
describe "parent class/mixer" do
|
18
|
+
|
19
|
+
it "#setFacade" do
|
20
|
+
expect( loader ).to respond_to( :setFacade )
|
21
|
+
end
|
22
|
+
|
23
|
+
it "#facade" do
|
24
|
+
expect( loader ).to respond_to( :facade )
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
|
34
|
+
end
|
@@ -8,40 +8,176 @@ require 'sbuilder'
|
|
8
8
|
# implements methods :load :setFacade
|
9
9
|
#
|
10
10
|
|
11
|
-
RSpec.shared_examples_for "api_loader_facade:
|
11
|
+
RSpec.shared_examples_for "api_loader_facade: signature" do
|
12
12
|
|
13
|
-
|
14
|
-
let( :facade ) { Sbuilder::ApiLoader.new( factory ) }
|
13
|
+
describe "interface" do
|
15
14
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
15
|
+
describe "configure before use" do
|
16
|
+
|
17
|
+
it "#setController" do
|
18
|
+
expect( facade ).to respond_to( :setController )
|
19
|
+
end
|
20
|
+
|
21
|
+
it "#setFactory" do
|
22
|
+
expect( facade ).to respond_to( :setFactory )
|
23
|
+
end
|
24
|
+
|
25
|
+
it "#configureInfrastructureService" do
|
26
|
+
expect( facade ).to respond_to( :configureInfrastructureService )
|
27
|
+
end
|
28
|
+
|
29
|
+
it "#infrastructureServices" do
|
30
|
+
expect( facade ).to respond_to( :infrastructureServices )
|
31
|
+
end
|
32
|
+
|
33
|
+
it "#configureInterfaceService" do
|
34
|
+
expect( facade ).to respond_to( :configureInterfaceService )
|
35
|
+
end
|
36
|
+
|
37
|
+
it "#interfaceService" do
|
38
|
+
expect( facade ).to respond_to( :interfaceServices )
|
39
|
+
end
|
40
|
+
|
41
|
+
|
42
|
+
it "#configureNamespace" do
|
43
|
+
expect( facade ).to respond_to( :configureNamespace )
|
44
|
+
end
|
21
45
|
|
22
|
-
|
46
|
+
it "#setInterfaceCacheFilePath" do
|
47
|
+
expect( facade ).to respond_to( :setInterfaceCacheFilePath )
|
48
|
+
end
|
49
|
+
|
50
|
+
|
51
|
+
end
|
52
|
+
|
53
|
+
describe "data read & cache" do
|
54
|
+
|
55
|
+
it "#read_cached" do
|
56
|
+
expect( facade ).to respond_to( :read_cached )
|
57
|
+
end
|
58
|
+
|
59
|
+
describe "cache" do
|
60
|
+
|
61
|
+
it "#getCacheDir" do
|
62
|
+
expect( facade ).to respond_to( :getCacheDir )
|
63
|
+
end
|
64
|
+
|
65
|
+
it "#doCache?" do
|
66
|
+
expect( facade ).to respond_to( :doCache? )
|
67
|
+
end
|
68
|
+
|
69
|
+
it "#get_cached" do
|
70
|
+
expect( facade ).to respond_to( :get_cached )
|
71
|
+
end
|
72
|
+
it "#cache_line" do
|
73
|
+
expect( facade ).to respond_to( :cache_line )
|
74
|
+
end
|
75
|
+
|
76
|
+
end
|
77
|
+
|
78
|
+
end
|
23
79
|
|
24
|
-
describe "
|
80
|
+
describe "access framework context" do
|
25
81
|
|
26
|
-
it "
|
27
|
-
expect(
|
82
|
+
it "#baseMetatypes" do
|
83
|
+
expect( facade ).to respond_to( :baseMetatypes )
|
28
84
|
end
|
29
85
|
|
30
86
|
|
31
|
-
|
32
|
-
|
87
|
+
end
|
88
|
+
|
89
|
+
|
90
|
+
describe "domains" do
|
91
|
+
|
92
|
+
it "#defineDomain" do
|
93
|
+
expect( facade ).to respond_to( :defineDomain )
|
33
94
|
end
|
34
95
|
|
35
|
-
|
36
|
-
|
96
|
+
end
|
97
|
+
|
98
|
+
|
99
|
+
describe "create model objects" do
|
100
|
+
|
101
|
+
it "#newDefinition" do
|
102
|
+
expect( facade ).to respond_to( :newDefinition )
|
103
|
+
end
|
104
|
+
it "#newFunctionDefinition" do
|
105
|
+
expect( facade ).to respond_to( :newFunctionDefinition )
|
106
|
+
end
|
107
|
+
|
108
|
+
it "#newInterface" do
|
109
|
+
expect( facade ).to respond_to( :newInterface )
|
110
|
+
end
|
111
|
+
|
112
|
+
it "#newParameter" do
|
113
|
+
expect( facade ).to respond_to( :newParameter )
|
114
|
+
end
|
115
|
+
|
116
|
+
it "#newParameterReference" do
|
117
|
+
expect( facade ).to respond_to( :newParameterReference )
|
118
|
+
end
|
119
|
+
|
120
|
+
it "#addParameter" do
|
121
|
+
expect( facade ).to respond_to( :addParameter )
|
122
|
+
end
|
123
|
+
|
124
|
+
it "#addResponseParameter" do
|
125
|
+
expect( facade ).to respond_to( :addResponseParameter )
|
37
126
|
end
|
38
127
|
|
39
128
|
end
|
40
129
|
|
130
|
+
describe "build model" do
|
41
131
|
|
132
|
+
it "#modelDefinition" do
|
133
|
+
expect( facade ).to respond_to( :modelDefinition )
|
134
|
+
end
|
135
|
+
|
136
|
+
it "#modelInterface" do
|
137
|
+
expect( facade ).to respond_to( :modelInterface )
|
138
|
+
end
|
139
|
+
|
140
|
+
|
141
|
+
end
|
142
|
+
|
143
|
+
|
42
144
|
|
43
145
|
end
|
44
146
|
|
147
|
+
|
148
|
+
# let( :factory ) { Sbuilder::Factory.getFactory }
|
149
|
+
# let( :facade ) { Sbuilder::ApiLoaderFacade.new( factory ) }
|
150
|
+
|
151
|
+
# before :each do
|
152
|
+
# loader.setFacade( facade )
|
153
|
+
# end
|
154
|
+
|
155
|
+
# # ------------------------------------------------------------------
|
156
|
+
# # Interfaces
|
157
|
+
|
158
|
+
# describe "interfaces" do
|
159
|
+
|
160
|
+
# describe "loader" do
|
161
|
+
|
162
|
+
# it ".configure static method " do
|
163
|
+
# expect( loader.class ).to respond_to( :configure )
|
164
|
+
# end
|
165
|
+
|
166
|
+
|
167
|
+
# it "#load" do
|
168
|
+
# expect( loader ).to respond_to( :load )
|
169
|
+
# end
|
170
|
+
|
171
|
+
# it "#setFacade" do
|
172
|
+
# expect( loader ).to respond_to( :setFacade )
|
173
|
+
# end
|
174
|
+
|
175
|
+
# end
|
176
|
+
|
177
|
+
|
178
|
+
|
179
|
+
# end
|
180
|
+
|
45
181
|
end
|
46
182
|
|
47
183
|
|
@@ -65,7 +201,7 @@ end
|
|
65
201
|
RSpec.shared_examples_for "api_loader_facade: uses ':read_cached' to access api definition" do
|
66
202
|
|
67
203
|
let( :factory ) { Sbuilder::Factory.getFactory }
|
68
|
-
let( :facade ) { Sbuilder::
|
204
|
+
let( :facade ) { Sbuilder::ApiLoaderFacade.new( factory ) }
|
69
205
|
|
70
206
|
before :each do
|
71
207
|
loader.setFacade( facade )
|
@@ -117,7 +253,7 @@ RSpec.shared_examples_for "api_loader_facade: contract to load one definition" d
|
|
117
253
|
|
118
254
|
|
119
255
|
let( :factory ) { Sbuilder::Factory.getFactory }
|
120
|
-
let( :facade ) { Sbuilder::
|
256
|
+
let( :facade ) { Sbuilder::ApiLoaderFacade.new( factory ) }
|
121
257
|
|
122
258
|
before :each do
|
123
259
|
loader.setFacade( facade )
|
@@ -129,6 +265,7 @@ RSpec.shared_examples_for "api_loader_facade: contract to load one definition" d
|
|
129
265
|
parameter = instance_double( Sbuilder::Parameter )
|
130
266
|
expect( facade ).to receive( :newDefinition ).ordered.and_return( definition )
|
131
267
|
expect( definition ).to receive( :addParameter ).with( parameter )
|
268
|
+
allow( definition ).to receive( :isArray ).and_return( false )
|
132
269
|
expect( facade ).to receive( :newParameter ).ordered.and_return( parameter )
|
133
270
|
expect( facade ).to receive( :modelDefinition ).ordered
|
134
271
|
load
|
@@ -162,7 +299,7 @@ RSpec.shared_examples_for "api_loader_facade: contract to load one interface" do
|
|
162
299
|
|
163
300
|
|
164
301
|
let( :factory ) { Sbuilder::Factory.getFactory }
|
165
|
-
let( :facade ) { Sbuilder::
|
302
|
+
let( :facade ) { Sbuilder::ApiLoaderFacade.new( factory ) }
|
166
303
|
|
167
304
|
before :each do
|
168
305
|
loader.setFacade( facade )
|
@@ -225,23 +362,23 @@ end
|
|
225
362
|
#
|
226
363
|
#
|
227
364
|
|
228
|
-
RSpec.shared_examples_for "api_loader_facade: loader calls #createLogger on #setFacade" do
|
365
|
+
# RSpec.shared_examples_for "api_loader_facade: loader calls #createLogger on #setFacade" do
|
229
366
|
|
230
|
-
|
231
|
-
|
367
|
+
# let( :factory ) { Sbuilder::Factory.getFactory }
|
368
|
+
# let( :facade ) { Sbuilder::ApiLoaderFacade.new( factory ) }
|
232
369
|
|
233
370
|
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
371
|
+
# it "#createLogger" do
|
372
|
+
# expect( facade ).to receive( :createLogger ).and_call_original
|
373
|
+
# loader.setFacade( facade )
|
374
|
+
# end
|
238
375
|
|
239
|
-
|
376
|
+
# describe "facade#createLogger" do
|
240
377
|
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
378
|
+
# it "#returns Logger" do
|
379
|
+
# expect( facade.createLogger( "name" )).to be_a( Logger )
|
380
|
+
# end
|
381
|
+
# end
|
245
382
|
|
246
|
-
end
|
383
|
+
# end
|
247
384
|
|