We are trying to test redirection of URLs to our federation page for MFA. The inspec HTTP resource can be used for verification with SAML protected URLs. However, it falls short when it comes to OAuth related redirection. Therefore, we were attempting to use a headless browser via Puppeteer. If we simply run the control we CAN make it work. However, if we try to run the profile, we get the following stack trace.
jo314774@C02FK46DMD6R tests % inspec exec ../profiles/core --controls=^/profile-control-/
Traceback (most recent call last):
23: from /usr/local/bin/inspec:255:in `'
22: from /usr/local/bin/inspec:255:in `load'
21: from /opt/inspec/embedded/lib/ruby/gems/2.7.0/gems/inspec-bin-4.37.20/bin/inspec:11:in `<top (required)>'
20: from /opt/inspec/embedded/lib/ruby/gems/2.7.0/gems/inspec-core-4.37.20/lib/inspec/base_cli.rb:35:in `start'
19: from /opt/inspec/embedded/lib/ruby/gems/2.7.0/gems/thor-1.1.0/lib/thor/base.rb:485:in `start'
18: from /opt/inspec/embedded/lib/ruby/gems/2.7.0/gems/thor-1.1.0/lib/thor.rb:392:in `dispatch'
17: from /opt/inspec/embedded/lib/ruby/gems/2.7.0/gems/thor-1.1.0/lib/thor/invocation.rb:127:in `invoke_command'
16: from /opt/inspec/embedded/lib/ruby/gems/2.7.0/gems/thor-1.1.0/lib/thor/command.rb:27:in `run'
15: from /opt/inspec/embedded/lib/ruby/gems/2.7.0/gems/inspec-core-4.37.20/lib/inspec/cli.rb:285:in `exec'
14: from /opt/inspec/embedded/lib/ruby/gems/2.7.0/gems/inspec-core-4.37.20/lib/inspec/runner.rb:135:in `run'
13: from /opt/inspec/embedded/lib/ruby/gems/2.7.0/gems/inspec-core-4.37.20/lib/inspec/runner.rb:101:in `load'
12: from /opt/inspec/embedded/lib/ruby/gems/2.7.0/gems/inspec-core-4.37.20/lib/inspec/runner.rb:101:in `each'
11: from /opt/inspec/embedded/lib/ruby/gems/2.7.0/gems/inspec-core-4.37.20/lib/inspec/runner.rb:107:in `block in load'
10: from /opt/inspec/embedded/lib/ruby/gems/2.7.0/gems/inspec-core-4.37.20/lib/inspec/profile.rb:285:in `load_libraries'
9: from /opt/inspec/embedded/lib/ruby/gems/2.7.0/gems/inspec-core-4.37.20/lib/inspec/profile_context.rb:143:in `load_libraries'
8: from /opt/inspec/embedded/lib/ruby/gems/2.7.0/gems/inspec-core-4.37.20/lib/inspec/profile_context.rb:143:in `each'
7: from /opt/inspec/embedded/lib/ruby/gems/2.7.0/gems/inspec-core-4.37.20/lib/inspec/profile_context.rb:144:in `block in load_libraries'
6: from /opt/inspec/embedded/lib/ruby/gems/2.7.0/gems/inspec-core-4.37.20/lib/inspec/profile_context.rb:159:in `load_library_file'
5: from /opt/inspec/embedded/lib/ruby/gems/2.7.0/gems/inspec-core-4.37.20/lib/inspec/profile_context.rb:170:in `load_with_context'
4: from /opt/inspec/embedded/lib/ruby/gems/2.7.0/gems/inspec-core-4.37.20/lib/inspec/profile_context.rb:170:in `instance_eval'
3: from libraries/multifactor_page_redirect.rb:1:in `load_with_context'
2: from /opt/inspec/embedded/lib/ruby/gems/2.7.0/gems/inspec-core-4.37.20/lib/inspec/dsl_shared.rb:33:in `require'
1: from /opt/inspec/embedded/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require'
/opt/inspec/embedded/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require': cannot load such file -- puppeteer ( LoadError )
Can you please provide guidance.