Sha256: 3359da2ea9f288fd450e698e8aaac90ef2c1ef3440d00a6dafbcab99081cd99a

Contents?: true

Size: 1.21 KB

Versions: 1

Compression:

Stored size: 1.21 KB

Contents

require "spec_helper"

describe Moped::Failover::Reconfigure do

  describe "#execute" do

    let(:node) do
      Moped::Node.new("127.0.0.1:27017")
    end

    context "when the exception is reconfiguring a replica set" do

      let(:exception) do
        Moped::Errors::QueryFailure.new({}, { "code" => 13435 })
      end

      it "raises a replica set reconfigured exception" do
        expect {
          described_class.execute(exception, node)
        }.to raise_error(Moped::Errors::ReplicaSetReconfigured)
      end
    end

    context "when the exception is a conncetion failure with the server" do

      let(:exception) do
        Moped::Errors::QueryFailure.new({}, { "code" => 15988 })
      end

      it "raises a connection failure exception" do
        expect {
          described_class.execute(exception, node)
        }.to raise_error(Moped::Errors::ConnectionFailure)
      end
    end

    context "when no replica set reconfiguration is happening" do

      let(:exception) do
        Moped::Errors::QueryFailure.new({}, {})
      end

      it "raises the exception" do
        expect {
          described_class.execute(exception, node)
        }.to raise_error(exception.class)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ish_lib_manager-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/bundler/gems/moped-cf817ca58a85/spec/moped/failover/reconfigure_spec.rb