public function testTimezoneRequestIsValid() { $location = array('lat' => 45.340488, 'lng' => -75.912674); $timestamp = time(); $language = 'en'; $key = 'mock_crypto_key'; $request = new TimezoneRequest($location, $timestamp, $key, $language); $this->assertEquals($location, $request->getLocation()); $this->assertEquals($timestamp, $request->getTimestamp()); $this->assertEquals($key, $request->getKey()); $this->assertEquals($language, $request->getLanguage()); $data = $request->toArray(); $this->assertArrayHasKey('location', $data); $this->assertEquals(implode(',', $location), $data['location']); $this->assertArrayHasKey('timestamp', $data); $this->assertEquals($timestamp, $data['timestamp']); $this->assertArrayHasKey('language', $data); $this->assertEquals($language, $data['language']); $this->assertArrayHasKey('key', $data); $this->assertEquals($key, $data['key']); }
/** * Generate the API url containing the required query params * * @param TimezoneRequest $request * @return string */ protected function generateUrl(TimezoneRequest $request) { $url = sprintf('%s/%s?%s', $this->getUrl(), $this->getFormat(), http_build_query($request->toArray())); return $this->signUrl($url); }