Sha256: 2da9fd21aff4075202786ff1deecba135dc70a4add9638c785621db4dd328a87

Contents?: true

Size: 1.23 KB

Versions: 1

Compression:

Stored size: 1.23 KB

Contents

require 'tools/tracing.rb'

#Tracer.enable

describe "Name Service" do
  it_should_behave_like "AppSwarm Test"
  it "can export names and all connected nodes can look it up" do
    b=NetworkTestBed.new(10)
    b.run("NetworkDiscoveryUdp","UdpNetwork","NameService")
    b.eachApp(:nameService){|app|app.clear}
    n=b.first(:nameService)
    sleepDebug 7
    n.export("myName","myHost")
    b.eachApp(:nameService){|app|app.get("myName").should == "myHost"}
    b.stop
  end
  it "can retrieve names at will" do
    b=NetworkTestBed.new(10)
    b.run("NetworkDiscoveryUdp","UdpNetwork","NameService")
    b.eachApp(:nameService){|app|app.clear}

    sleepDebug 5
    map={1=>2,3=>4,5=>6,7=>8}
    1.upto(map.length){|i|
      key=map.keys[i-1]
      b.app(:nameService,i-1).export(key,map[key])
    }

    b.eachApp(:nameService){|app|
      map.keys.each{|key|
        app.get(key).should == map[key]
      }
    }

    b.stop
  end
  it "should store and load dictionary" do
    b=TestBed.new
    n=b.run("NameService")
    sleepDebug 0.2
    n.clear
    n.export("MyUrl","MyHost")
    b.stop
    b=TestBed.new(:testbedId=>b.testbedId)
    n=b.run("NameService")
    sleepDebug 0.1
    pp n.content
    n.get("MyUrl").should == "MyHost"
    b.stop
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
appswarm-0.0.1 apps/name_service/spec/name_service_spec.rb