spec/units/message_driver/adapters/base_spec.rb in message-driver-0.1.0 vs spec/units/message_driver/adapters/base_spec.rb in message-driver-0.2.0.rc1
- old
+ new
@@ -1,44 +1,63 @@
require 'spec_helper'
module MessageDriver::Adapters
describe Base do
- class TestAdapter < described_class
+ class TestAdapter < Base
def initialize(configuration)
-
end
end
- subject { TestAdapter.new({}) }
+ subject(:adapter) { TestAdapter.new({}) }
- describe "#publish" do
+ describe "#new_context" do
it "raises an error" do
expect {
- subject.publish(:destination, {foo: "bar"})
+ subject.new_context
}.to raise_error "Must be implemented in subclass"
end
end
- describe "#pop_message" do
- it "raises an error" do
- expect {
- subject.pop_message(:destination)
- }.to raise_error "Must be implemented in subclass"
- end
- end
-
describe "#stop" do
- it "raises an error" do
+ it "raises an error", pending: "maybe we don't want to do this" do
expect {
subject.stop
}.to raise_error "Must be implemented in subclass"
end
end
- describe "#create_destination" do
- it "raises an error" do
- expect {
- subject.create_destination("foo")
- }.to raise_error "Must be implemented in subclass"
+ describe ContextBase do
+ class TestContext < ContextBase
end
+ subject(:adapter_context) { TestContext.new(adapter) }
+
+ it_behaves_like "an adapter context"
+ it_behaves_like "transactions are not supported"
+ it_behaves_like "client acks are not supported"
+ it_behaves_like "subscriptions are not supported"
+
+ describe "#create_destination" do
+ it "raises an error" do
+ expect {
+ subject.create_destination("foo")
+ }.to raise_error "Must be implemented in subclass"
+ end
+ end
+
+ describe "#publish" do
+ it "raises an error" do
+ expect {
+ subject.publish(:destination, {foo: "bar"})
+ }.to raise_error "Must be implemented in subclass"
+ end
+ end
+
+ describe "#pop_message" do
+ it "raises an error" do
+ expect {
+ subject.pop_message(:destination)
+ }.to raise_error "Must be implemented in subclass"
+ end
+ end
+
end
end
end