public function setup() { parent::setup(); // create bucket $this->bucket = new Bucket("some_classes"); $this->bucket->setFormat("json"); $this->bucket->setFullyQualifiedClassName("Kbrw\\RiakBundle\\Tests\\Model\\Bucket\\SomeClass"); // insert bucket into a cluster $riakKVServiceClient = new MockedRiakKVServiceClient($this->getContainer()); $riakBucketServiceClient = new MockedRiakBucketServiceClient($this->getContainer()); $guzzleClientProviderTest = new SimpleGuzzleClientProviderTest(); $guzzleClientProvider = $guzzleClientProviderTest->getGuzzleClientProvider(); $eventDispatcher = $this->getService("event_dispatcher"); $this->cluster = new Cluster("backend", "http", "localhost", "1234", "frontend", 50, array(), $guzzleClientProvider, $eventDispatcher, null, $riakBucketServiceClient, $riakKVServiceClient); $this->cluster->addBucket($this->bucket); // insert fake data into this bucket for test purposes $this->insertData("foo1", new SomeClass("bar1")); $this->insertData("foo2", new SomeClass("bar2")); }
/** * @test */ public function splitFetchRequestsWhenMaxParallelCallsIsReached() { $riakKVServiceClient = $this->getMockBuilder("Kbrw\\RiakBundle\\Service\\WebserviceClient\\Riak\\RiakKVServiceClient")->setMethods(array("doFetch"))->getMock(); $riakKVServiceClient->contentTypeNormalizer = $this->getService("kbrw.content.type.normalizer"); $riakKVServiceClient->serializer = $this->getService("jms_serializer"); $riakKVServiceClient->logger = $this->getService("logger"); $riakKVServiceClient->expects($this->exactly(3))->method("doFetch")->will($this->returnValue(new Datas())); $bucket = new Bucket(); $bucket->setFormat("json"); $cluster = new Cluster(); $cluster->setMaxParallelCalls(2); // the 5 put requests will be done using THREE curl_multi requests $riakKVServiceClient->fetch($cluster, $bucket, array("foo1", "foo2", "foo3", "foo4", "foo5")); }