botspec 0.4.9 → 0.4.10
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/.circleci/config.yml +73 -0
- data/.circleci/setup-rubygems.sh +5 -0
- data/.gitignore +2 -0
- data/botspec.gemspec +0 -2
- data/lib/botspec/version.rb +1 -1
- data/lib/chatbot_helpers.rb +43 -0
- data/lib/load_dialogs.rb +2 -7
- data/lib/rspec/botspec_runner.rb +0 -1
- data/script/release.sh +5 -5
- metadata +6 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 52a9fe509aded882158e7a905abd7a4bae5b7323
|
4
|
+
data.tar.gz: 7a002b2de6b4f8e4a80650f9f04865c94a559c60
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8fee6513811028d9c1d60724b35fd2e81ee23b7705f66871a1aa7e071c6296590ba561e13c1c4bc8882e2b1b3533e296a57b0051223438f8a07be62852938219
|
7
|
+
data.tar.gz: 62311a3913997f1dbaf0fcaaa7e0f4f260f508f9b648541c851685e9a837c4c15d52ab60f59acbf2a124343a471760f6bd5ab9da33909f79b80dad4b36c21e2d
|
@@ -0,0 +1,73 @@
|
|
1
|
+
# Ruby CircleCI 2.0 configuration file
|
2
|
+
#
|
3
|
+
# Check https://circleci.com/docs/2.0/language-ruby/ for more details
|
4
|
+
#
|
5
|
+
version: 2
|
6
|
+
jobs:
|
7
|
+
build:
|
8
|
+
docker:
|
9
|
+
# specify the version you desire here
|
10
|
+
- image: circleci/ruby:2.4.1-node-browsers
|
11
|
+
environment:
|
12
|
+
BUNDLER_VERSION: 2.0.2
|
13
|
+
|
14
|
+
working_directory: ~/repo
|
15
|
+
|
16
|
+
steps:
|
17
|
+
- checkout
|
18
|
+
|
19
|
+
- run:
|
20
|
+
name: install dependencies
|
21
|
+
command: |
|
22
|
+
bundle install --jobs=4 --retry=3 --path vendor/bundle
|
23
|
+
|
24
|
+
# run tests!
|
25
|
+
- run:
|
26
|
+
name: run tests
|
27
|
+
command: |
|
28
|
+
mkdir /tmp/test-results
|
29
|
+
rake spec
|
30
|
+
|
31
|
+
publish:
|
32
|
+
docker:
|
33
|
+
# specify the version you desire here
|
34
|
+
- image: circleci/ruby:2.4.1-node-browsers
|
35
|
+
|
36
|
+
working_directory: ~/repo
|
37
|
+
|
38
|
+
steps:
|
39
|
+
- add_ssh_keys:
|
40
|
+
fingerprints:
|
41
|
+
- "4c:60:84:77:2a:a6:e5:1a:4c:7f:c3:fc:dd:4c:78:c4"
|
42
|
+
- checkout
|
43
|
+
|
44
|
+
- run:
|
45
|
+
name: Gem Release
|
46
|
+
command: |
|
47
|
+
bundle install --jobs=4 --retry=3 --path vendor/bundle
|
48
|
+
git config user.email "elliottmurray@gmail.com"
|
49
|
+
git config user.name "Circleci"
|
50
|
+
git config --global push.default simple
|
51
|
+
git push --set-upstream origin $CIRCLE_BRANCH
|
52
|
+
.circleci/setup-rubygems.sh
|
53
|
+
|
54
|
+
script/patch.sh
|
55
|
+
|
56
|
+
- run:
|
57
|
+
name: Docker Release
|
58
|
+
command: curl --data build=true -X POST https://cloud.docker.com/api/build/v1/source/06910a8b-39e1-4929-b55c-4111c3216452/trigger/24b37a19-bd4c-461d-ba80-3d9f1b0704bd/call/
|
59
|
+
|
60
|
+
workflows:
|
61
|
+
version: 2
|
62
|
+
build_and_publish:
|
63
|
+
jobs:
|
64
|
+
- build
|
65
|
+
- publish:
|
66
|
+
requires:
|
67
|
+
- build
|
68
|
+
filters:
|
69
|
+
branches:
|
70
|
+
only:
|
71
|
+
- master
|
72
|
+
- publish_gem
|
73
|
+
|
data/.gitignore
CHANGED
data/botspec.gemspec
CHANGED
@@ -42,8 +42,6 @@ Gem::Specification.new do |gem|
|
|
42
42
|
gem.add_runtime_dependency 'thor', "~> 0.20.0"
|
43
43
|
gem.add_runtime_dependency 'hashie', "~> 3.6.0"
|
44
44
|
|
45
|
-
gem.add_development_dependency "bundler", ">= 1.16"
|
46
|
-
|
47
45
|
gem.add_development_dependency "guard-rspec", "~> 4.7"
|
48
46
|
gem.add_development_dependency "rake", "~> 10.0"
|
49
47
|
gem.add_development_dependency "byebug"
|
data/lib/botspec/version.rb
CHANGED
@@ -0,0 +1,43 @@
|
|
1
|
+
|
2
|
+
require 'botspec/lex/lex_service.rb'
|
3
|
+
|
4
|
+
|
5
|
+
module ChatbotHelpers
|
6
|
+
|
7
|
+
@client = nil
|
8
|
+
@logger = nil
|
9
|
+
@response = nil
|
10
|
+
|
11
|
+
def chatbot_client
|
12
|
+
@client ||= BotSpec::AWS::LexService.new({botname: 'WebUiOrderFlowers'})
|
13
|
+
end
|
14
|
+
|
15
|
+
def the_logger
|
16
|
+
@logger = @logger ||= Logger.new(STDOUT)
|
17
|
+
@logger.level = Logger::INFO
|
18
|
+
@logger
|
19
|
+
end
|
20
|
+
|
21
|
+
def user(utterance)
|
22
|
+
the_logger.info "User says: " + utterance.inspect
|
23
|
+
@response = chatbot_client.post_message(utterance, 'user_id')
|
24
|
+
end
|
25
|
+
|
26
|
+
def chatbot(expected_response)
|
27
|
+
the_logger.info "Expected response: " + expected_response.inspect
|
28
|
+
the_logger.info "Actual response: " + @response.message.inspect
|
29
|
+
expect(@response.message).to match(expected_response)
|
30
|
+
end
|
31
|
+
|
32
|
+
def intent_fired(intent_details)
|
33
|
+
expected_intent = intent_details.first
|
34
|
+
the_logger.info "\n\n got this intent.data: " + @response.data.inspect
|
35
|
+
|
36
|
+
expected_intent.keys.each do |key|
|
37
|
+
expect(@response.data[key]).to eq(expected_intent[key])
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
|
data/lib/load_dialogs.rb
CHANGED
@@ -12,7 +12,6 @@ class LoadDialogs
|
|
12
12
|
@@botname = botname
|
13
13
|
|
14
14
|
dialog_paths = Dir.glob(dialogs_path).select{ |e| File.file? e }
|
15
|
-
#dialog_paths = Dir["#{dialogs_path}*\[yaml|yml\]"]
|
16
15
|
dialog_yamls = dialog_paths.collect{ |dialog_file| Hashie.symbolize_keys YAML.load_file(dialog_file).merge!(file: dialog_file) }
|
17
16
|
|
18
17
|
dialog_yamls.collect{ |dialog_content|
|
@@ -30,7 +29,8 @@ class LoadDialogs
|
|
30
29
|
end
|
31
30
|
|
32
31
|
class Dialog
|
33
|
-
attr_reader :describe, :name, :interactions
|
32
|
+
attr_reader :describe, :name, :interactions
|
33
|
+
attr_accessor :file
|
34
34
|
|
35
35
|
def initialize args
|
36
36
|
args.each do |k,v|
|
@@ -38,15 +38,10 @@ class Dialog
|
|
38
38
|
end
|
39
39
|
end
|
40
40
|
|
41
|
-
def file(file)
|
42
|
-
@file = file
|
43
|
-
end
|
44
|
-
|
45
41
|
def interactions
|
46
42
|
@interactions
|
47
43
|
end
|
48
44
|
|
49
|
-
|
50
45
|
def lex_chat
|
51
46
|
@lex_chat ||= BotSpec::AWS::LexService.new({botname: LoadDialogs.botname})
|
52
47
|
end
|
data/lib/rspec/botspec_runner.rb
CHANGED
data/script/release.sh
CHANGED
@@ -7,11 +7,11 @@ bundle exec bump ${MODE} --no-commit
|
|
7
7
|
|
8
8
|
#bundle exec appraisal update
|
9
9
|
bundle exec rake generate_changelog
|
10
|
-
git add lib/botspec/version.rb CHANGELOG.md
|
11
|
-
git commit -m "chore(release): version $(ruby -r ./lib/botspec/version.rb -e "puts Botspec::VERSION")" && git push
|
10
|
+
git add lib/botspec/version.rb CHANGELOG.md
|
11
|
+
git commit -m "chore(release) [ci skip]: version $(ruby -r ./lib/botspec/version.rb -e "puts Botspec::VERSION")" && git push
|
12
12
|
bundle exec rake release
|
13
13
|
|
14
14
|
# Dockerhub release
|
15
|
-
docker build -t botspec .
|
16
|
-
docker tag botspec elliottmurray/botspec
|
17
|
-
docker push elliottmurray/botspec
|
15
|
+
#docker build -t botspec .
|
16
|
+
#docker tag botspec elliottmurray/botspec
|
17
|
+
#docker push elliottmurray/botspec
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: botspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elliott Murray
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-08-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -94,20 +94,6 @@ dependencies:
|
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 3.6.0
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: bundler
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - ">="
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '1.16'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - ">="
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '1.16'
|
111
97
|
- !ruby/object:Gem::Dependency
|
112
98
|
name: guard-rspec
|
113
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -185,6 +171,8 @@ executables: []
|
|
185
171
|
extensions: []
|
186
172
|
extra_rdoc_files: []
|
187
173
|
files:
|
174
|
+
- ".circleci/config.yml"
|
175
|
+
- ".circleci/setup-rubygems.sh"
|
188
176
|
- ".gitignore"
|
189
177
|
- ".rspec"
|
190
178
|
- ".travis.yml"
|
@@ -204,6 +192,7 @@ files:
|
|
204
192
|
- lib/botspec/lex/lex_service.rb
|
205
193
|
- lib/botspec/tasks/verification_task.rb
|
206
194
|
- lib/botspec/version.rb
|
195
|
+
- lib/chatbot_helpers.rb
|
207
196
|
- lib/cli.thor
|
208
197
|
- lib/load_dialogs.rb
|
209
198
|
- lib/rspec/botspec_runner.rb
|
@@ -231,7 +220,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
231
220
|
version: '0'
|
232
221
|
requirements: []
|
233
222
|
rubyforge_project:
|
234
|
-
rubygems_version: 2.
|
223
|
+
rubygems_version: 2.6.13
|
235
224
|
signing_key:
|
236
225
|
specification_version: 4
|
237
226
|
summary: Acceptance tests for bots
|