Sha256: 69642f11115d94dd709f3be8e60dae15026894bc533ef178bade3906c6d90ee9

Contents?: true

Size: 1.77 KB

Versions: 16

Compression:

Stored size: 1.77 KB

Contents

require 'spec_helper'
require_relative '../../lib/vayacondios/server/legacy_switch'

require 'multi_json'

require_relative '../../lib/vayacondios/client/itemset'

describe Vayacondios::Client::ItemSet do
  context "after instantiation in legacy mode" do
    itemset = Vayacondios::Client::ItemSet.new("foohost", 9999, "fooorg", "footopic", "fooid")
    ary = ["foo", "bar", "baz"]

    # testing internals here to avoid shimming up HTTP libraries.

    it "generates a put request without a patch header when asked to create" do
      Vayacondios.force_legacy_mode true

      req = itemset.instance_eval{_req(:create, ary)}

      req.method.should eql('PUT')
      req.body.should eql(MultiJson.encode(ary))
      req.path.should eql('/v1/fooorg/itemset/footopic/fooid')
      req.each_header.to_a.should_not include(["x_method", "PATCH"])
    end

    it "generates a put request with a patch header when asked to update" do
      Vayacondios.force_legacy_mode true

      req = itemset.instance_eval{_req(:update, ary)}

      req.method.should eql('PUT')
      req.body.should eql(MultiJson.encode(ary))
      req.path.should eql('/v1/fooorg/itemset/footopic/fooid')
      req.each_header.to_a.should include(["x-method", "PATCH"])
    end

    it "generates a get request when asked to fetch" do
      req = itemset.instance_eval{_req(:fetch)}

      req.method.should eql('GET')
      req.body.should be_nil
      req.path.should eql('/v1/fooorg/itemset/footopic/fooid')
    end

    it "generates a delete request when asked to remove" do
      Vayacondios.force_legacy_mode true

      req = itemset.instance_eval{_req(:remove, ary)}

      req.method.should eql('DELETE')
      req.body.should eql(MultiJson.encode(ary))
      req.path.should eql('/v1/fooorg/itemset/footopic/fooid')
    end
  end
end

Version data entries

16 entries across 16 versions & 2 rubygems

Version Path
vayacondios-server-0.2.11 spec/client/itemset_legacy_spec.rb
vayacondios-client-0.2.11 spec/client/itemset_legacy_spec.rb
vayacondios-server-0.2.10 spec/client/itemset_legacy_spec.rb
vayacondios-client-0.2.10 spec/client/itemset_legacy_spec.rb
vayacondios-server-0.2.9 spec/client/itemset_legacy_spec.rb
vayacondios-client-0.2.9 spec/client/itemset_legacy_spec.rb
vayacondios-server-0.2.8 spec/client/itemset_legacy_spec.rb
vayacondios-client-0.2.8 spec/client/itemset_legacy_spec.rb
vayacondios-server-0.2.7 spec/client/itemset_legacy_spec.rb
vayacondios-client-0.2.7 spec/client/itemset_legacy_spec.rb
vayacondios-server-0.2.6 spec/client/itemset_legacy_spec.rb
vayacondios-client-0.2.6 spec/client/itemset_legacy_spec.rb
vayacondios-server-0.2.5 spec/client/itemset_legacy_spec.rb
vayacondios-client-0.2.5 spec/client/itemset_legacy_spec.rb
vayacondios-client-0.2.4 spec/client/itemset_legacy_spec.rb
vayacondios-server-0.2.4 spec/client/itemset_legacy_spec.rb