Closed ghost closed 3 years ago
It seems this error happens inside lib/slack-ruby-bot-server-events/api/endpoints/slack/actions_endpoint.rb
Our team attempted to help fix this problem, but there was a problem when running specs.
Perhaps there's a version problem with rack-test
?
An error occurred while loading ./spec/slack-ruby-bot-server-events/version_spec.rb.
Failure/Error: include Rack::Test::Methods
NameError:
uninitialized constant Rack::Test
This issue is related to the version of interactive message template. Currently this gem works with legacy template and you can find a basic working example here @deadalice , @he-dslieker Checkout the docs for more info.
Anyhow, I was about to create a new issue for this but just commenting here now @dblock
Callback is run in this part, and we will have to use action_id
instead of callback_id
in the updated version.
Need to rewrite actions_endpoint and its tests.
Here is a very basic template we need to support and move forward.
:D Code is not changed but README seems to be changed already. Interesting @dblock
I forked the repo to resolve this issue but got some error when running test. 😢
Here is my output of bundle exec rake
command:
Running RuboCop...
The following cops were added to RuboCop, but are not configured. Please set Enabled to either `true` or `false` in your `.rubocop.yml` file:
- Lint/RaiseException (0.81)
- Lint/StructNewOverride (0.81)
- Style/HashEachMethods (0.80)
- Style/HashTransformKeys (0.80)
- Style/HashTransformValues (0.80)
For more information: https://docs.rubocop.org/en/latest/versioning/
Inspecting 33 files
.................................
33 files inspected, no offenses detected
/usr/local/bin/ruby -I/usr/local/bundle/gems/rspec-core-3.10.1/lib:/usr/local/bundle/gems/rspec-support-3.10.1/lib /usr/local/bundle/gems/rspec-core-3.10.1/exe/rspec spec/slack-ruby-bot-server-events/api/endpoints/slack/actions_endpoint_spec.rb spec/slack-ruby-bot-server-events/api/endpoints/slack/commands_endpoint_spec.rb spec/slack-ruby-bot-server-events/api/endpoints/slack/events_endpoint_spec.rb spec/slack-ruby-bot-server-events/config_spec.rb spec/slack-ruby-bot-server-events/version_spec.rb
An error occurred while loading ./spec/slack-ruby-bot-server-events/api/endpoints/slack/actions_endpoint_spec.rb.
Failure/Error: Bundler.require
NameError:
uninitialized constant ActiveModel::Serializers::Xml
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid/composable.rb:35:in `<module:Composable>'
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid/composable.rb:23:in `<module:Mongoid>'
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid/composable.rb:18:in `<top (required)>'
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid/document.rb:17:in `require'
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid/document.rb:17:in `<top (required)>'
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid.rb:22:in `require'
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid.rb:22:in `<top (required)>'
# /usr/local/bundle/gems/kaminari-mongoid-1.0.1/lib/kaminari/mongoid.rb:3:in `require'
# /usr/local/bundle/gems/kaminari-mongoid-1.0.1/lib/kaminari/mongoid.rb:3:in `<top (required)>'
# ./spec/spec_helper.rb:6:in `<top (required)>'
# ./spec/slack-ruby-bot-server-events/api/endpoints/slack/actions_endpoint_spec.rb:3:in `require'
# ./spec/slack-ruby-bot-server-events/api/endpoints/slack/actions_endpoint_spec.rb:3:in `<top (required)>'
# ------------------
# --- Caused by: ---
# LoadError:
# cannot load such file -- kaminari-mongoid
# ./spec/spec_helper.rb:6:in `<top (required)>'
An error occurred while loading ./spec/slack-ruby-bot-server-events/api/endpoints/slack/commands_endpoint_spec.rb.
Failure/Error: Bundler.require
NameError:
uninitialized constant ActiveModel::Serializers::Xml
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid/composable.rb:35:in `<module:Composable>'
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid/composable.rb:23:in `<module:Mongoid>'
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid/composable.rb:18:in `<top (required)>'
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid/document.rb:17:in `require'
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid/document.rb:17:in `<top (required)>'
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid.rb:22:in `require'
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid.rb:22:in `<top (required)>'
# /usr/local/bundle/gems/kaminari-mongoid-1.0.1/lib/kaminari/mongoid.rb:3:in `require'
# /usr/local/bundle/gems/kaminari-mongoid-1.0.1/lib/kaminari/mongoid.rb:3:in `<top (required)>'
# ./spec/spec_helper.rb:6:in `<top (required)>'
# ./spec/slack-ruby-bot-server-events/api/endpoints/slack/commands_endpoint_spec.rb:3:in `require'
# ./spec/slack-ruby-bot-server-events/api/endpoints/slack/commands_endpoint_spec.rb:3:in `<top (required)>'
# ------------------
# --- Caused by: ---
# LoadError:
# cannot load such file -- kaminari-mongoid
# ./spec/spec_helper.rb:6:in `<top (required)>'
An error occurred while loading ./spec/slack-ruby-bot-server-events/api/endpoints/slack/events_endpoint_spec.rb.
Failure/Error: Bundler.require
NameError:
uninitialized constant ActiveModel::Serializers::Xml
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid/composable.rb:35:in `<module:Composable>'
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid/composable.rb:23:in `<module:Mongoid>'
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid/composable.rb:18:in `<top (required)>'
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid/document.rb:17:in `require'
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid/document.rb:17:in `<top (required)>'
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid.rb:22:in `require'
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid.rb:22:in `<top (required)>'
# /usr/local/bundle/gems/kaminari-mongoid-1.0.1/lib/kaminari/mongoid.rb:3:in `require'
# /usr/local/bundle/gems/kaminari-mongoid-1.0.1/lib/kaminari/mongoid.rb:3:in `<top (required)>'
# ./spec/spec_helper.rb:6:in `<top (required)>'
# ./spec/slack-ruby-bot-server-events/api/endpoints/slack/events_endpoint_spec.rb:3:in `require'
# ./spec/slack-ruby-bot-server-events/api/endpoints/slack/events_endpoint_spec.rb:3:in `<top (required)>'
# ------------------
# --- Caused by: ---
# LoadError:
# cannot load such file -- kaminari-mongoid
# ./spec/spec_helper.rb:6:in `<top (required)>'
An error occurred while loading ./spec/slack-ruby-bot-server-events/config_spec.rb.
Failure/Error: Bundler.require
NameError:
uninitialized constant ActiveModel::Serializers::Xml
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid/composable.rb:35:in `<module:Composable>'
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid/composable.rb:23:in `<module:Mongoid>'
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid/composable.rb:18:in `<top (required)>'
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid/document.rb:17:in `require'
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid/document.rb:17:in `<top (required)>'
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid.rb:22:in `require'
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid.rb:22:in `<top (required)>'
# /usr/local/bundle/gems/kaminari-mongoid-1.0.1/lib/kaminari/mongoid.rb:3:in `require'
# /usr/local/bundle/gems/kaminari-mongoid-1.0.1/lib/kaminari/mongoid.rb:3:in `<top (required)>'
# ./spec/spec_helper.rb:6:in `<top (required)>'
# ./spec/slack-ruby-bot-server-events/config_spec.rb:3:in `require'
# ./spec/slack-ruby-bot-server-events/config_spec.rb:3:in `<top (required)>'
# ------------------
# --- Caused by: ---
# LoadError:
# cannot load such file -- kaminari-mongoid
# ./spec/spec_helper.rb:6:in `<top (required)>'
An error occurred while loading ./spec/slack-ruby-bot-server-events/version_spec.rb.
Failure/Error: Bundler.require
NameError:
uninitialized constant ActiveModel::Serializers::Xml
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid/composable.rb:35:in `<module:Composable>'
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid/composable.rb:23:in `<module:Mongoid>'
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid/composable.rb:18:in `<top (required)>'
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid/document.rb:17:in `require'
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid/document.rb:17:in `<top (required)>'
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid.rb:22:in `require'
# /usr/local/bundle/gems/mongoid-4.0.0.beta2/lib/mongoid.rb:22:in `<top (required)>'
# /usr/local/bundle/gems/kaminari-mongoid-1.0.1/lib/kaminari/mongoid.rb:3:in `require'
# /usr/local/bundle/gems/kaminari-mongoid-1.0.1/lib/kaminari/mongoid.rb:3:in `<top (required)>'
# ./spec/spec_helper.rb:6:in `<top (required)>'
# ./spec/slack-ruby-bot-server-events/version_spec.rb:3:in `require'
# ./spec/slack-ruby-bot-server-events/version_spec.rb:3:in `<top (required)>'
# ------------------
# --- Caused by: ---
# LoadError:
# cannot load such file -- kaminari-mongoid
# ./spec/spec_helper.rb:6:in `<top (required)>'
No examples found.
Finished in 0.00006 seconds (files took 0.93315 seconds to load)
0 examples, 0 failures, 5 errors occurred outside of examples
/usr/local/bin/ruby -I/usr/local/bundle/gems/rspec-core-3.10.1/lib:/usr/local/bundle/gems/rspec-support-3.10.1/lib /usr/local/bundle/gems/rspec-core-3.10.1/exe/rspec spec/slack-ruby-bot-server-events/api/endpoints/slack/actions_endpoint_spec.rb spec/slack-ruby-bot-server-events/api/endpoints/slack/commands_endpoint_spec.rb spec/slack-ruby-bot-server-events/api/endpoints/slack/events_endpoint_spec.rb spec/slack-ruby-bot-server-events/config_spec.rb spec/slack-ruby-bot-server-events/version_spec.rb failed
Looks like there are a few issues here ...
@deadalice looks like @CrazyOptimist explained the problem, the newer interactive messages are actions and this code just doesn't handle that, let's add support for it, hopefully with backwards compatibility (note that Grape supports things like given
, so we can switch entire argument blocks with validation)
@he-dslieker Running rake
should be OK, but maybe we're missing a require 'rack/test'
somewhere in spec_helper.rb
, does that help?
@CrazyOptimist your build is bringing in mongoid-4.0.0.beta2, which seems very old, it should be using 6 or 7, not sure what's up
bundle update
and require 'rack/test'
worked, very awesome.
You want me to add switch
or you gonna do that in person?
Current implementation only handle the second type of payload - message_actions
I will try to add block_actions
at this time according to your advice above which is really helpful.
We will be able to add 3rd and 4th payload support later easily(I didn't meet the use case yet 😎 ).
A very basic working example can be found here now.
An error appears when the interactive button is pressed, the action remains unprocessed:
01:12:32 web.1 | W, [2020-10-28T01:12:32.771673 #12006] WARN -- : Grape::Exceptions::ValidationErrors: payload[callback_id] is missing, payload[actions][0][value] is missing