public function testRetrievesTemperatureFromApiIfNotFoundInCache() { $city = 'Miami, FL'; $expectedTemperature = '90F'; $expectedCacheKey = md5($city); $temperatureData = ['temperature' => $expectedTemperature]; $this->cache->shouldReceive('get')->once()->with($expectedCacheKey)->andReturn(null); $this->cache->shouldReceive('set')->once()->with($expectedCacheKey, $temperatureData, 900); $this->httpClient->shouldReceive('get')->once()->with('https://some-weather-api.com/temperature/' . urlencode($city))->andReturn(new Response(200, [], Stream::factory(json_encode($temperatureData)))); $this->assertSame($expectedTemperature, $this->weatherService->getTemperature($city)); }
/** * @dataProvider kvsProvider * * @param KeyValueStore $kvs * @param MemcachedAdapter $dummyMemchdAdapter * @param \Memcached $dummyMemchd */ public function testPersistNonSerialized(KeyValueStore $kvs, MemcachedAdapter $dummyMemchdAdapter, \Memcached $dummyMemchd) { $dummyMemchd->shouldReceive('get')->with('key-e')->andReturn('value-e'); $dummyMemchd->shouldReceive('getResultCode')->andReturn(\Memcached::RES_SUCCESS); $this->assertFalse($kvs->persist('key-e')); }
/** * @expectedException \Exception * * @dataProvider kvsProvider * * @param KeyValueStore $kvs * @param MemcachedAdapter $dummyMemchdAdapter * @param \Memcached $dummyMemchd */ public function testGetValueError(KeyValueStore $kvs, MemcachedAdapter $dummyMemchdAdapter, \Memcached $dummyMemchd) { $dummyMemchd->shouldReceive('get')->with('key-e')->andReturn(false); $dummyMemchd->shouldReceive('getResultCode')->andReturn(\Memcached::RES_SUCCESS); $kvs->get('key-e'); }
/** * @expectedException \Exception * * @dataProvider kvsProvider * * @param KeyValueStore $kvs * @param MemcachedAdapter $dummyMemchdAdapter * @param \Memcached $dummyMemchd */ public function testFlushError(KeyValueStore $kvs, MemcachedAdapter $dummyMemchdAdapter, \Memcached $dummyMemchd) { $dummyMemchd->shouldReceive('flush')->andReturn(false); $kvs->flush(); }