MuranoCLI 3.2.0.beta.1 → 3.2.0.beta.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/.rubocop.yml +4 -1
- data/.trustme.plugin +137 -0
- data/.trustme.sh +217 -117
- data/.trustme.vim +9 -3
- data/Gemfile +9 -3
- data/MuranoCLI.gemspec +8 -5
- data/Rakefile +1 -0
- data/dockers/Dockerfile.2.2.9 +6 -3
- data/dockers/Dockerfile.2.3.6 +6 -3
- data/dockers/Dockerfile.2.4.3 +6 -3
- data/dockers/Dockerfile.2.5.0 +6 -3
- data/dockers/Dockerfile.GemRelease +10 -8
- data/dockers/Dockerfile.m4 +23 -5
- data/dockers/docker-test.sh +65 -28
- data/docs/completions/murano_completion-bash +751 -57
- data/docs/develop.rst +10 -9
- data/lib/MrMurano/AccountBase.rb +95 -6
- data/lib/MrMurano/Commander-Entry.rb +9 -4
- data/lib/MrMurano/Config-Migrate.rb +2 -0
- data/lib/MrMurano/Config.rb +94 -26
- data/lib/MrMurano/Content.rb +1 -1
- data/lib/MrMurano/Exchange.rb +77 -42
- data/lib/MrMurano/Gateway.rb +1 -1
- data/lib/MrMurano/HttpAuthed.rb +20 -7
- data/lib/MrMurano/Logs.rb +10 -1
- data/lib/MrMurano/ProjectFile.rb +1 -1
- data/lib/MrMurano/ReCommander.rb +129 -73
- data/lib/MrMurano/Solution-ServiceConfig.rb +18 -11
- data/lib/MrMurano/Solution-Services.rb +78 -50
- data/lib/MrMurano/Solution-Users.rb +1 -1
- data/lib/MrMurano/Solution.rb +13 -63
- data/lib/MrMurano/SyncUpDown-Core.rb +185 -77
- data/lib/MrMurano/SyncUpDown-Item.rb +29 -4
- data/lib/MrMurano/SyncUpDown.rb +11 -11
- data/lib/MrMurano/Webservice-Cors.rb +1 -1
- data/lib/MrMurano/Webservice-Endpoint.rb +28 -17
- data/lib/MrMurano/Webservice-File.rb +103 -43
- data/lib/MrMurano/commands/domain.rb +1 -0
- data/lib/MrMurano/commands/element.rb +585 -0
- data/lib/MrMurano/commands/exchange.rb +211 -204
- data/lib/MrMurano/commands/gb.rb +1 -0
- data/lib/MrMurano/commands/globals.rb +17 -7
- data/lib/MrMurano/commands/init.rb +115 -101
- data/lib/MrMurano/commands/keystore.rb +1 -1
- data/lib/MrMurano/commands/logs.rb +2 -1
- data/lib/MrMurano/commands/postgresql.rb +17 -7
- data/lib/MrMurano/commands/service.rb +572 -0
- data/lib/MrMurano/commands/show.rb +7 -3
- data/lib/MrMurano/commands/solution.rb +2 -1
- data/lib/MrMurano/commands/solution_picker.rb +31 -15
- data/lib/MrMurano/commands/status.rb +205 -169
- data/lib/MrMurano/commands/sync.rb +70 -38
- data/lib/MrMurano/commands/token.rb +59 -14
- data/lib/MrMurano/commands/usage.rb +1 -0
- data/lib/MrMurano/commands.rb +2 -0
- data/lib/MrMurano/hash.rb +91 -0
- data/lib/MrMurano/http.rb +55 -6
- data/lib/MrMurano/makePretty.rb +47 -0
- data/lib/MrMurano/optparse.rb +60 -45
- data/lib/MrMurano/variegated/TruthyFalsey.rb +48 -0
- data/lib/MrMurano/variegated/ruby_dig.rb +64 -0
- data/lib/MrMurano/verbosing.rb +113 -3
- data/lib/MrMurano/version.rb +1 -1
- data/spec/Account_spec.rb +34 -20
- data/spec/Business_spec.rb +12 -9
- data/spec/Config_spec.rb +7 -1
- data/spec/Content_spec.rb +17 -1
- data/spec/GatewayBase_spec.rb +5 -2
- data/spec/GatewayDevice_spec.rb +4 -2
- data/spec/GatewayResource_spec.rb +4 -1
- data/spec/GatewaySettings_spec.rb +4 -1
- data/spec/HttpAuthed_spec.rb +73 -0
- data/spec/Http_spec.rb +32 -35
- data/spec/ProjectFile_spec.rb +1 -1
- data/spec/Solution-ServiceConfig_spec.rb +4 -1
- data/spec/Solution-ServiceEventHandler_spec.rb +6 -3
- data/spec/Solution-ServiceModules_spec.rb +4 -1
- data/spec/Solution-UsersRoles_spec.rb +4 -1
- data/spec/Solution_spec.rb +4 -1
- data/spec/SyncUpDown_spec.rb +1 -1
- data/spec/Webservice-Cors_spec.rb +4 -1
- data/spec/Webservice-Endpoint_spec.rb +9 -6
- data/spec/Webservice-File_spec.rb +17 -4
- data/spec/Webservice-Setting_spec.rb +6 -2
- data/spec/_workspace.rb +2 -0
- data/spec/cmd_common.rb +42 -13
- data/spec/cmd_content_spec.rb +17 -7
- data/spec/cmd_device_spec.rb +1 -1
- data/spec/cmd_domain_spec.rb +2 -2
- data/spec/cmd_element_spec.rb +400 -0
- data/spec/cmd_exchange_spec.rb +2 -2
- data/spec/cmd_init_spec.rb +59 -25
- data/spec/cmd_keystore_spec.rb +6 -3
- data/spec/cmd_link_spec.rb +10 -5
- data/spec/cmd_logs_spec.rb +1 -1
- data/spec/cmd_setting_application_spec.rb +18 -15
- data/spec/cmd_setting_product_spec.rb +7 -7
- data/spec/cmd_status_spec.rb +27 -17
- data/spec/cmd_syncdown_application_spec.rb +30 -3
- data/spec/cmd_syncdown_both_spec.rb +72 -18
- data/spec/cmd_syncup_spec.rb +71 -5
- data/spec/cmd_token_spec.rb +2 -2
- data/spec/cmd_usage_spec.rb +2 -2
- data/spec/dry_run_formatter.rb +27 -0
- data/spec/fixtures/dumped_config +8 -0
- data/spec/fixtures/exchange_element/element-show.json +1 -0
- data/spec/fixtures/exchange_element/swagger-mur-6407__10k.yaml +282 -0
- data/spec/fixtures/exchange_element/swagger-mur-6407__20k.yaml +588 -0
- data/spec/variegated_TruthyFalsey_spec.rb +29 -0
- metadata +51 -25
data/Gemfile
CHANGED
|
@@ -10,8 +10,10 @@ source 'http://rubygems.org'
|
|
|
10
10
|
#gemspec
|
|
11
11
|
|
|
12
12
|
gem 'certified', '1.0.0'
|
|
13
|
-
|
|
13
|
+
# (lb): I forked commander to fix empty-string args issue; see murano-cli-commander.
|
|
14
|
+
# gem 'commander', '~> 4.4.4'
|
|
14
15
|
gem 'dotenv', '~> 2.1.1'
|
|
16
|
+
gem 'dumb_delegator', '~> 0.8.0'
|
|
15
17
|
gem 'eventmachine', '~> 1.2.5'
|
|
16
18
|
gem 'faye-websocket', '~> 0.10.7'
|
|
17
19
|
gem 'highline', '~> 1.7.8'
|
|
@@ -22,6 +24,7 @@ gem 'json', '~> 2.1.0'
|
|
|
22
24
|
gem 'json-schema', '~> 2.7.0'
|
|
23
25
|
gem 'mime-types', '~> 3.1'
|
|
24
26
|
gem 'mime-types-data', '~> 3.2016.0521'
|
|
27
|
+
gem 'murano-cli-commander', '~> 4.4.7'
|
|
25
28
|
#gem 'orderedhash', '~> 0.0.6'
|
|
26
29
|
gem 'os', '~> 1.0.0'
|
|
27
30
|
gem 'paint', '~> 2.0.0'
|
|
@@ -33,17 +36,20 @@ gem 'rainbow', '~> 2.2.2'
|
|
|
33
36
|
# Windows build fails unless `rake` is packaged.
|
|
34
37
|
gem 'rake', '~> 12.1.0'
|
|
35
38
|
gem 'terminal-table', '~> 1.8.0'
|
|
39
|
+
gem 'tty-editor', '~> 0.4.0'
|
|
40
|
+
gem 'unicode-display_width', '~> 1.3.2'
|
|
36
41
|
gem 'vine', '~> 0.4'
|
|
37
42
|
gem 'whirly', '~> 0.2.4'
|
|
38
43
|
|
|
39
44
|
group :test do
|
|
40
45
|
#gem 'bundler', '~> 1.7.6'
|
|
41
46
|
gem 'byebug', '~> 9.0.6'
|
|
42
|
-
gem 'coderay', require: false
|
|
47
|
+
#gem 'coderay', require: false
|
|
43
48
|
#gem 'rake', '~> 10.1.1'
|
|
44
49
|
gem 'rspec', '~> 3.5'
|
|
45
50
|
gem 'rubocop', '~> 0.49.1'
|
|
46
|
-
gem 'simplecov', require: false
|
|
51
|
+
#gem 'simplecov', require: false
|
|
52
|
+
gem 'simplecov', '~> 0.16.1'
|
|
47
53
|
gem 'webmock', '~> 2.3.0'
|
|
48
54
|
gem 'websocket-driver', '~> 0.7.0'
|
|
49
55
|
#gem 'vcr'
|
data/MuranoCLI.gemspec
CHANGED
|
@@ -38,8 +38,10 @@ And so much more.
|
|
|
38
38
|
s.require_paths = ['lib']
|
|
39
39
|
|
|
40
40
|
s.add_runtime_dependency('certified', '1.0.0')
|
|
41
|
-
|
|
41
|
+
# (lb): I forked commander to fix empty-string args issue; see murano-cli-commander.
|
|
42
|
+
# s.add_runtime_dependency('commander', '~> 4.4.4')
|
|
42
43
|
s.add_runtime_dependency('dotenv', '~> 2.1.1')
|
|
44
|
+
s.add_runtime_dependency('dumb_delegator', '~> 0.8.0')
|
|
43
45
|
# 2017-08-15: Getting warning when running --user-install gem in 2.4.0. [lb]:
|
|
44
46
|
# Ignoring eventmachine-1.2.3 because its extensions are not built.
|
|
45
47
|
# Try: gem pristine eventmachine --version 1.2.3
|
|
@@ -54,6 +56,7 @@ And so much more.
|
|
|
54
56
|
s.add_runtime_dependency('json-schema', '~> 2.7.0')
|
|
55
57
|
s.add_runtime_dependency('mime-types', '~> 3.1')
|
|
56
58
|
s.add_runtime_dependency('mime-types-data', '~> 3.2016.0521')
|
|
59
|
+
s.add_runtime_dependency('murano-cli-commander', '~> 4.4.7')
|
|
57
60
|
#s.add_runtime_dependency('orderedhash', '~> 0.0.6')
|
|
58
61
|
s.add_runtime_dependency('os', '~> 1.0.0')
|
|
59
62
|
s.add_runtime_dependency('paint', '~> 2.0.0')
|
|
@@ -61,15 +64,15 @@ And so much more.
|
|
|
61
64
|
# It's included by json, so make sure it's the old one.
|
|
62
65
|
s.add_runtime_dependency('public_suffix', '~> 2.0.5')
|
|
63
66
|
s.add_runtime_dependency('rainbow', '~> 2.2.2')
|
|
67
|
+
# 2017-09-12: MRMUR-160/MRMUR-161: (lb): Windows build fails without `rake`.
|
|
68
|
+
s.add_runtime_dependency('rake', '~> 12.1.0')
|
|
64
69
|
s.add_runtime_dependency('terminal-table', '~> 1.8.0')
|
|
70
|
+
s.add_runtime_dependency('tty-editor', '~> 0.4.0')
|
|
65
71
|
s.add_runtime_dependency('vine', '~> 0.4')
|
|
66
72
|
s.add_runtime_dependency('whirly', '~> 0.2.4')
|
|
67
|
-
# LATER/2017-09-12: See MRMUR-160 and MRMUR-161:
|
|
68
|
-
# Windows build fails unless `rake` is packaged.
|
|
69
|
-
s.add_runtime_dependency('rake', '~> 12.1.0')
|
|
70
73
|
|
|
71
74
|
# `bundle install --with=test`
|
|
72
|
-
s.add_development_dependency('bundler', '~> 1.7.6')
|
|
75
|
+
#s.add_development_dependency('bundler', '~> 1.7.6')
|
|
73
76
|
s.add_development_dependency('byebug', '~> 9.0.6')
|
|
74
77
|
#s.add_development_dependency('coderay', '~> ???')
|
|
75
78
|
#s.add_development_dependency('rake', '~> 12.1.0')
|
data/Rakefile
CHANGED
data/dockers/Dockerfile.2.2.9
CHANGED
|
@@ -15,7 +15,8 @@ RUN \
|
|
|
15
15
|
>> /etc/apt/sources.list \
|
|
16
16
|
&& apt-get -qq update \
|
|
17
17
|
&& apt-get install -y sudo
|
|
18
|
-
|
|
18
|
+
|
|
19
|
+
RUN echo "jenkins ALL= NOPASSWD: ALL" >> /etc/sudoers
|
|
19
20
|
|
|
20
21
|
WORKDIR /app
|
|
21
22
|
COPY . /app
|
|
@@ -25,9 +26,9 @@ RUN /bin/chown -R jenkins /app
|
|
|
25
26
|
USER jenkins
|
|
26
27
|
|
|
27
28
|
RUN cd /app && \
|
|
28
|
-
gem install bundler && \
|
|
29
|
+
sudo gem install bundler && \
|
|
29
30
|
gem install rspec && \
|
|
30
|
-
|
|
31
|
+
bundle install --with test && \
|
|
31
32
|
rake build
|
|
32
33
|
|
|
33
34
|
RUN gem install \
|
|
@@ -35,3 +36,5 @@ RUN gem install \
|
|
|
35
36
|
'require "/app/lib/MrMurano/version.rb"; puts MrMurano::VERSION' \
|
|
36
37
|
).gem
|
|
37
38
|
|
|
39
|
+
# vim:tw=0:ts=4:sw=4:noet:ft=conf:
|
|
40
|
+
|
data/dockers/Dockerfile.2.3.6
CHANGED
|
@@ -15,7 +15,8 @@ RUN \
|
|
|
15
15
|
>> /etc/apt/sources.list \
|
|
16
16
|
&& apt-get -qq update \
|
|
17
17
|
&& apt-get install -y sudo
|
|
18
|
-
|
|
18
|
+
|
|
19
|
+
RUN echo "jenkins ALL= NOPASSWD: ALL" >> /etc/sudoers
|
|
19
20
|
|
|
20
21
|
WORKDIR /app
|
|
21
22
|
COPY . /app
|
|
@@ -25,9 +26,9 @@ RUN /bin/chown -R jenkins /app
|
|
|
25
26
|
USER jenkins
|
|
26
27
|
|
|
27
28
|
RUN cd /app && \
|
|
28
|
-
gem install bundler && \
|
|
29
|
+
sudo gem install bundler && \
|
|
29
30
|
gem install rspec && \
|
|
30
|
-
|
|
31
|
+
bundle install --with test && \
|
|
31
32
|
rake build
|
|
32
33
|
|
|
33
34
|
RUN gem install \
|
|
@@ -35,3 +36,5 @@ RUN gem install \
|
|
|
35
36
|
'require "/app/lib/MrMurano/version.rb"; puts MrMurano::VERSION' \
|
|
36
37
|
).gem
|
|
37
38
|
|
|
39
|
+
# vim:tw=0:ts=4:sw=4:noet:ft=conf:
|
|
40
|
+
|
data/dockers/Dockerfile.2.4.3
CHANGED
|
@@ -15,7 +15,8 @@ RUN \
|
|
|
15
15
|
>> /etc/apt/sources.list \
|
|
16
16
|
&& apt-get -qq update \
|
|
17
17
|
&& apt-get install -y sudo
|
|
18
|
-
|
|
18
|
+
|
|
19
|
+
RUN echo "jenkins ALL= NOPASSWD: ALL" >> /etc/sudoers
|
|
19
20
|
|
|
20
21
|
WORKDIR /app
|
|
21
22
|
COPY . /app
|
|
@@ -25,9 +26,9 @@ RUN /bin/chown -R jenkins /app
|
|
|
25
26
|
USER jenkins
|
|
26
27
|
|
|
27
28
|
RUN cd /app && \
|
|
28
|
-
gem install bundler && \
|
|
29
|
+
sudo gem install bundler && \
|
|
29
30
|
gem install rspec && \
|
|
30
|
-
|
|
31
|
+
bundle install --with test && \
|
|
31
32
|
rake build
|
|
32
33
|
|
|
33
34
|
RUN gem install \
|
|
@@ -35,3 +36,5 @@ RUN gem install \
|
|
|
35
36
|
'require "/app/lib/MrMurano/version.rb"; puts MrMurano::VERSION' \
|
|
36
37
|
).gem
|
|
37
38
|
|
|
39
|
+
# vim:tw=0:ts=4:sw=4:noet:ft=conf:
|
|
40
|
+
|
data/dockers/Dockerfile.2.5.0
CHANGED
|
@@ -15,7 +15,8 @@ RUN \
|
|
|
15
15
|
>> /etc/apt/sources.list \
|
|
16
16
|
&& apt-get -qq update \
|
|
17
17
|
&& apt-get install -y sudo
|
|
18
|
-
|
|
18
|
+
|
|
19
|
+
RUN echo "jenkins ALL= NOPASSWD: ALL" >> /etc/sudoers
|
|
19
20
|
|
|
20
21
|
WORKDIR /app
|
|
21
22
|
COPY . /app
|
|
@@ -25,9 +26,9 @@ RUN /bin/chown -R jenkins /app
|
|
|
25
26
|
USER jenkins
|
|
26
27
|
|
|
27
28
|
RUN cd /app && \
|
|
28
|
-
gem install bundler && \
|
|
29
|
+
sudo gem install bundler && \
|
|
29
30
|
gem install rspec && \
|
|
30
|
-
|
|
31
|
+
bundle install --with test && \
|
|
31
32
|
rake build
|
|
32
33
|
|
|
33
34
|
RUN gem install \
|
|
@@ -35,3 +36,5 @@ RUN gem install \
|
|
|
35
36
|
'require "/app/lib/MrMurano/version.rb"; puts MrMurano::VERSION' \
|
|
36
37
|
).gem
|
|
37
38
|
|
|
39
|
+
# vim:tw=0:ts=4:sw=4:noet:ft=conf:
|
|
40
|
+
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
FROM ruby:2.
|
|
1
|
+
FROM ruby:2.3.6-jessie
|
|
2
2
|
|
|
3
3
|
USER root
|
|
4
4
|
|
|
5
|
-
ENV LANGUAGE
|
|
6
|
-
ENV LANG
|
|
5
|
+
ENV LANGUAGE C.UTF-8
|
|
6
|
+
ENV LANG C.UTF-8
|
|
7
|
+
ENV LC_ALL C.UTF-8
|
|
7
8
|
|
|
8
9
|
RUN useradd -m -s /bin/bash --uid 1001 -G root jenkins
|
|
9
10
|
|
|
@@ -13,6 +14,7 @@ RUN \
|
|
|
13
14
|
&& echo "deb-src http://ftp.us.debian.org/debian/ jessie main contrib non-free" \
|
|
14
15
|
>> /etc/apt/sources.list \
|
|
15
16
|
&& apt-get -qq update \
|
|
17
|
+
&& apt-get install -y sudo \
|
|
16
18
|
&& apt-get install -y curl \
|
|
17
19
|
&& apt-get install -y bzip2 \
|
|
18
20
|
&& apt-get install -y tar
|
|
@@ -24,11 +26,11 @@ RUN /bin/chown -R jenkins /app
|
|
|
24
26
|
|
|
25
27
|
USER jenkins
|
|
26
28
|
|
|
27
|
-
RUN cd /app
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
RUN cd /app
|
|
30
|
+
RUN gem install bundler
|
|
31
|
+
RUN gem install rspec
|
|
32
|
+
RUN bundle install
|
|
33
|
+
RUN rake build
|
|
32
34
|
|
|
33
35
|
RUN gem install \
|
|
34
36
|
pkg/MuranoCLI-$(ruby -e \
|
data/dockers/Dockerfile.m4
CHANGED
|
@@ -34,6 +34,20 @@ ENV LANGUAGE C.UTF-8
|
|
|
34
34
|
ENV LANG C.UTF-8
|
|
35
35
|
ENV LC_ALL C.UTF-8
|
|
36
36
|
|
|
37
|
+
dnl # Some DEBUGGING tricks:
|
|
38
|
+
dnl # RUN ls -la /app
|
|
39
|
+
dnl # RUN ruby -v
|
|
40
|
+
dnl # # Show: $GEM_HOME, $GEM_PATH, $GEM_ROOT, $BUNDLE_PATH, $BUNDLE_HOME, etc.
|
|
41
|
+
dnl # RUN set | grep -e '^RUBY' -e '^GEM' -e '^BUNDLE'
|
|
42
|
+
dnl # RUN gem env
|
|
43
|
+
dnl # RUN ruby -rubygems -e 'puts Gem.dir'
|
|
44
|
+
dnl # ...
|
|
45
|
+
dnl # RUN command -v bundler
|
|
46
|
+
dnl # RUN bundler -v
|
|
47
|
+
dnl #
|
|
48
|
+
dnl # In any case, gems are installed to:
|
|
49
|
+
dnl # /usr/local/bundle/gems
|
|
50
|
+
dnl #
|
|
37
51
|
dnl # Jenkins runs the Execute Shell script on Docker as the 'jenkins' user,
|
|
38
52
|
dnl # but Docker is confused unless we create that user now and assign it the
|
|
39
53
|
dnl # UID that gets used. ((lb): This is hacky; Ops might fix this eventually.)
|
|
@@ -62,7 +76,11 @@ RUN \
|
|
|
62
76
|
>> /etc/apt/sources.list \
|
|
63
77
|
&& apt-get -qq update \
|
|
64
78
|
&& apt-get install -y sudo
|
|
65
|
-
|
|
79
|
+
|
|
80
|
+
dnl # NOTE: It's just easier to give the jenkins user full sudo...
|
|
81
|
+
dnl # RUN echo "jenkins ALL= NOPASSWD: /bin/chmod" >> /etc/sudoers
|
|
82
|
+
dnl # RUN echo "jenkins ALL= NOPASSWD: /usr/local/bundle/bin/gem" >> /etc/sudoers
|
|
83
|
+
RUN echo "jenkins ALL= NOPASSWD: ALL" >> /etc/sudoers
|
|
66
84
|
dnl # If you have complainst about sudoers, try:
|
|
67
85
|
dnl # RUN visudo -c
|
|
68
86
|
|
|
@@ -88,9 +106,9 @@ dnl #
|
|
|
88
106
|
USER jenkins
|
|
89
107
|
|
|
90
108
|
RUN cd /app && \
|
|
91
|
-
gem install bundler && \
|
|
109
|
+
sudo gem install bundler && \
|
|
92
110
|
gem install rspec && \
|
|
93
|
-
|
|
111
|
+
bundle install --with test && \
|
|
94
112
|
rake build
|
|
95
113
|
|
|
96
114
|
dnl # Install Murano CLI.
|
|
@@ -100,5 +118,5 @@ RUN gem install \
|
|
|
100
118
|
'require "/app/lib/MrMurano/version.rb"; puts MrMurano::VERSION' \
|
|
101
119
|
).gem
|
|
102
120
|
|
|
103
|
-
|
|
104
|
-
|
|
121
|
+
# vim:tw=0:ts=4:sw=4:noet:ft=conf:
|
|
122
|
+
|
data/dockers/docker-test.sh
CHANGED
|
@@ -43,15 +43,17 @@
|
|
|
43
43
|
# Jenkins sets a few environs, like ${WORKSPACE}, and we pull in a few
|
|
44
44
|
# more from the Jenkins Environment Injector Plugin.
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
[[ -z ${MURANO_USERNAME} ]] && echo "ERROR: Please set MURANO_USERNAME" && exit 1
|
|
49
|
-
[[ -z ${MURANO_PASSWORD} ]] && echo "ERROR: Please set MURANO_PASSWORD" && exit 1
|
|
50
|
-
[[ -z ${MURANO_BUSINESS} ]] && echo "ERROR: Please set MURANO_BUSINESS" && exit 1
|
|
46
|
+
must_verify_environs () {
|
|
47
|
+
[[ -z ${WORKSPACE} ]] && echo "ERROR: Expected WORKSPACE to be set" && exit 1
|
|
48
|
+
[[ -z ${MURANO_USERNAME} ]] && echo "ERROR: Please set MURANO_USERNAME" && exit 1
|
|
49
|
+
[[ -z ${MURANO_PASSWORD} ]] && echo "ERROR: Please set MURANO_PASSWORD" && exit 1
|
|
50
|
+
[[ -z ${MURANO_BUSINESS} ]] && echo "ERROR: Please set MURANO_BUSINESS" && exit 1
|
|
51
|
+
}
|
|
51
52
|
|
|
52
53
|
# Create a basic Murano CLI config indicating the Murano account credentials.
|
|
53
54
|
|
|
54
|
-
|
|
55
|
+
create_basic_config () {
|
|
56
|
+
cat > "${WORKSPACE}/test.run.muranocfg" <<-EOCFB
|
|
55
57
|
[user]
|
|
56
58
|
name = ${MURANO_USERNAME}
|
|
57
59
|
[business]
|
|
@@ -59,37 +61,72 @@ cat > "${WORKSPACE}/test.run.muranocfg" <<-EOCFB
|
|
|
59
61
|
[net]
|
|
60
62
|
host = bizapi-staging.hosted.exosite.io
|
|
61
63
|
EOCFB
|
|
62
|
-
export MURANO_CONFIGFILE="${WORKSPACE}/test.run.muranocfg"
|
|
64
|
+
export MURANO_CONFIGFILE="${WORKSPACE}/test.run.muranocfg"
|
|
65
|
+
}
|
|
63
66
|
|
|
64
67
|
# Switch to the project directory and run tests.
|
|
65
68
|
|
|
66
|
-
|
|
69
|
+
prepare_to_test () {
|
|
70
|
+
cd /app
|
|
67
71
|
|
|
68
|
-
# Instead of `rake test_clean_up -t`, call CLI directly with --no-color.
|
|
72
|
+
# Instead of `rake test_clean_up -t`, call CLI directly with --no-color.
|
|
69
73
|
|
|
70
|
-
echo "Removing existing solutions from Murano account."
|
|
74
|
+
echo "Removing existing solutions from Murano account."
|
|
71
75
|
|
|
72
|
-
ruby -Ilib bin/murano solutions expunge -y --no-progress --no-color --ascii
|
|
76
|
+
ruby -Ilib bin/murano solutions expunge -y --no-progress --no-color --ascii
|
|
73
77
|
|
|
74
|
-
# Fix the PATH to avoid the error:
|
|
75
|
-
#
|
|
76
|
-
# /tmp/jenkins8459777890102160498.sh: line 81: rspec: command not found
|
|
77
|
-
PATH=${PATH}:/usr/local/bundle/bin
|
|
78
|
+
# Fix the PATH to avoid the error:
|
|
79
|
+
#
|
|
80
|
+
# /tmp/jenkins8459777890102160498.sh: line 81: rspec: command not found
|
|
81
|
+
PATH=${PATH}:/usr/local/bundle/bin
|
|
82
|
+
|
|
83
|
+
# (lb): Sometimes the host drive directories mount as root:root with 2755
|
|
84
|
+
# permissions. But sometimes not. If it starts happening again, you'll see
|
|
85
|
+
# Errno::EACCES: Permission denied. Uncomment the sudoers code in Dockerfile.
|
|
86
|
+
sudo chmod 2777 /app/report
|
|
87
|
+
sudo chmod 2777 /app/coverage
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
execute_tests () {
|
|
91
|
+
cd /app
|
|
92
|
+
|
|
93
|
+
echo "############################################################################################"
|
|
94
|
+
echo "Testing \"$(murano -v)\" on \"$(ruby -v)\""
|
|
95
|
+
echo "############################################################################################"
|
|
96
|
+
|
|
97
|
+
# Hint: Add `--example "<...>"` to limit the test suite.
|
|
98
|
+
|
|
99
|
+
set +e
|
|
100
|
+
|
|
101
|
+
local rspec_rsp
|
|
102
|
+
|
|
103
|
+
rspec \
|
|
104
|
+
--format html \
|
|
105
|
+
--out /app/report/index-${RVERS}.html \
|
|
106
|
+
--format documentation
|
|
107
|
+
|
|
108
|
+
rspec_rsp=$?
|
|
109
|
+
|
|
110
|
+
# BizAPI oftentimes timesout on a few tests, so try again.
|
|
111
|
+
if [[ ${rspec_rsp} -ne 0 ]]; then
|
|
112
|
+
rspec \
|
|
113
|
+
--format html \
|
|
114
|
+
--out /app/report/index-${RVERS}.html \
|
|
115
|
+
--format documentation \
|
|
116
|
+
--only-failures
|
|
78
117
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
# Errno::EACCES: Permission denied. Uncomment the sudoers code in Dockerfile.
|
|
82
|
-
sudo chmod 2777 /app/report
|
|
83
|
-
sudo chmod 2777 /app/coverage
|
|
118
|
+
rspec_rsp=$?
|
|
119
|
+
fi
|
|
84
120
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
echo "############################################################################################"
|
|
121
|
+
exit ${rspec_rsp}
|
|
122
|
+
}
|
|
88
123
|
|
|
89
|
-
|
|
124
|
+
main () {
|
|
125
|
+
must_verify_environs
|
|
126
|
+
create_basic_config
|
|
127
|
+
prepare_to_test
|
|
128
|
+
execute_tests
|
|
129
|
+
}
|
|
90
130
|
|
|
91
|
-
|
|
92
|
-
--format html \
|
|
93
|
-
--out /app/report/index-${RVERS}.html \
|
|
94
|
-
--format documentation
|
|
131
|
+
main "${@}"
|
|
95
132
|
|