From b57660449897b8d2fdce261a0d63b19051a324da Mon Sep 17 00:00:00 2001 From: Thibault Jouan Date: Tue, 4 Mar 2014 05:32:15 +0000 Subject: [PATCH] Implement basic Testing::MockRemote object --- lib/producer/core/testing.rb | 1 + lib/producer/core/testing/mock_remote.rb | 11 +++++++++++ .../producer/core/testing/mock_remote_spec.rb | 19 +++++++++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 lib/producer/core/testing.rb create mode 100644 lib/producer/core/testing/mock_remote.rb create mode 100644 spec/producer/core/testing/mock_remote_spec.rb diff --git a/lib/producer/core/testing.rb b/lib/producer/core/testing.rb new file mode 100644 index 0000000..83dd0ba --- /dev/null +++ b/lib/producer/core/testing.rb @@ -0,0 +1 @@ +require 'producer/core/testing/mock_remote' diff --git a/lib/producer/core/testing/mock_remote.rb b/lib/producer/core/testing/mock_remote.rb new file mode 100644 index 0000000..331281e --- /dev/null +++ b/lib/producer/core/testing/mock_remote.rb @@ -0,0 +1,11 @@ +module Producer + module Core + module Testing + class MockRemote < Remote + def session + raise 'no session for mock remote!' + end + end + end + end +end diff --git a/spec/producer/core/testing/mock_remote_spec.rb b/spec/producer/core/testing/mock_remote_spec.rb new file mode 100644 index 0000000..adfd7c1 --- /dev/null +++ b/spec/producer/core/testing/mock_remote_spec.rb @@ -0,0 +1,19 @@ +require 'producer/core/testing' + +module Producer::Core + module Testing + describe MockRemote do + subject(:remote) { MockRemote.new('some_host.example') } + + it 'is a remote' do + expect(remote).to be_a Remote + end + + describe '#session' do + it 'raises an error to prevent real session usage' do + expect { remote.session }.to raise_error + end + end + end + end +end