Sha256: 5a111d64bbf8f972ba0c0a060f2c364625e29605cad56a80680bf69592fe0c6a

Contents?: true

Size: 1.03 KB

Versions: 8

Compression:

Stored size: 1.03 KB

Contents

require 'spec_helper'
require 'securerandom'


describe Etcdv3::Namespace::Watch do
  let(:stub) { local_namespace_stub(Etcdv3::Namespace::Watch, 5, '/namespace/') }
  let(:kv_stub_no_ns) { local_stub(Etcdv3::KV, 1) }
  let(:kv_stub) { local_namespace_stub(Etcdv3::Namespace::KV, 1, '/namespace/') }

  context 'watch' do
    it 'should return an event' do 
      resp = nil
      thr = Thread.new do |thr|
        resp = stub.watch("foo", nil, 1, nil)
      end
      sleep 2
      kv_stub.put("foo", "works")
      thr.join
      expect(resp).to be_an_instance_of(Google::Protobuf::RepeatedField)
      expect(resp.last.kv.key).to eq('foo')  
    end

    it 'should return event when non-namespace client writes to key' do 
      resp = nil
      thr = Thread.new do |thr|
        resp = stub.watch("foobar", nil, 1, nil)
      end
      sleep 2
      kv_stub_no_ns.put("/namespace/foobar", "works")
      thr.join
      expect(resp).to be_an_instance_of(Google::Protobuf::RepeatedField)
      expect(resp.last.kv.key).to eq('foobar')  
    end
  end
end

Version data entries

8 entries across 8 versions & 2 rubygems

Version Path
rubypitaya-3.12.5 ./lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/etcdv3-0.11.5/spec/etcdv3/namespace/watch_spec.rb
etcdv3-0.11.6 spec/etcdv3/namespace/watch_spec.rb
rubypitaya-3.12.4 ./lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/etcdv3-0.11.5/spec/etcdv3/namespace/watch_spec.rb
rubypitaya-3.12.3 ./lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/etcdv3-0.11.5/spec/etcdv3/namespace/watch_spec.rb
rubypitaya-3.12.2 ./lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/etcdv3-0.11.5/spec/etcdv3/namespace/watch_spec.rb
etcdv3-0.11.5 spec/etcdv3/namespace/watch_spec.rb
etcdv3-0.11.4 spec/etcdv3/namespace/watch_spec.rb
etcdv3-0.11.3 spec/etcdv3/namespace/watch_spec.rb