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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cbd692787dd9635586ffac7978dc137c978c24e5
4
- data.tar.gz: 455617f8f2ea6e0d373f76d6c2ddb3ef2a0d7eb1
3
+ metadata.gz: 52a9fe509aded882158e7a905abd7a4bae5b7323
4
+ data.tar.gz: 7a002b2de6b4f8e4a80650f9f04865c94a559c60
5
5
  SHA512:
6
- metadata.gz: e7ba529d6d880b39bf624b5050f9dfed01f0dd0774fe8f19b508586a055c84071099a09acbb133883e909e3faf137e1dab1dee1ea195f89a5859299419a7a2d5
7
- data.tar.gz: c9d667e8dc7dea179eb82c41242fe8fbd57d19dbd53d1a698f52cc4f73d5f1e27fcb559195c45fd85c1823b19ddadc04487493218797547f7085c76615dc0551
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
+
@@ -0,0 +1,5 @@
1
+ #!/bin/bash
2
+
3
+ mkdir /home/circleci/.gem
4
+ echo -e "---\r\n:rubygems_api_key: $RUBYGEMS_API_KEY" > /home/circleci/.gem/credentials
5
+ chmod 0600 /home/circleci/.gem/credentials
data/.gitignore CHANGED
@@ -36,3 +36,5 @@ tmp/
36
36
  # ignore lock file
37
37
  Gemfile.lock
38
38
 
39
+ vendor/
40
+
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"
@@ -1,3 +1,3 @@
1
1
  module Botspec
2
- VERSION = "0.4.9"
2
+ VERSION = "0.4.10"
3
3
  end
@@ -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, :file
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
@@ -23,7 +23,6 @@ module BotSpec
23
23
 
24
24
  def run(args, out, err)
25
25
 
26
-
27
26
  setup(err, out)
28
27
 
29
28
  botname = args[:botname]
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.9
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-07-08 00:00:00.000000000 Z
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.5.2.3
223
+ rubygems_version: 2.6.13
235
224
  signing_key:
236
225
  specification_version: 4
237
226
  summary: Acceptance tests for bots