describe "Local File Store" do it_should_behave_like "AppSwarm Test" it "should store data permanently" do b=TestBed.new lfs=b.run("LocalFileStore") lfsapi=lfs.api("myApp","myInstance") lfsapi.rm("testFile") lfsapi["testFile"]="testContent" b.stop! checkThreads("inBetween") b=TestBed.new(:testbedId=>b.testbedId) lfs=b.run("LocalFileStore") lfsapi=lfs.api("myApp","myInstance") lfsapi["testFile"].should == "testContent" lfsapi.rm("testFile") b.stop! sleep 2 end it "should cache data before writing" do b=TestBed.new lfs=b.run("LocalFileStore") lfsapi=lfs.cached("myApp","myInstance") lfsapi.rm("testFile") lfsapi["testFile"]="testContent" lfs.api("myApp","myInstance")["testFile"].should be_nil lfsapi["testFile"].should == "testContent" b.stop! checkThreads("inBetween") b=TestBed.new(:testbedId=>b.testbedId) lfs=b.run("LocalFileStore") lfsapi=lfs.api("myApp","myInstance") lfsapi["testFile"].should == "testContent" b.stop sleep 2 end it "should cache data in read cache" do b=TestBed.new lfs=b.run("LocalFileStore") lfsapi=lfs.cached("myApp","myInstance") lfsapi.rm("testFile") lfsapi["testFile"]="testContent" lfs.api("myApp","myInstance")["testFile"].should be_nil lfsapi.flush lfs.api("myApp","myInstance")["testFile"].should == "testContent" lfs.api("myApp","myInstance").rm("testFile") lfs.api("myApp","myInstance")["testFile"].should be_nil lfsapi["testFile"].should == "testContent" # still there b.stop end end