def testFetchFailsOverToDatastoreWhenDataIsNotInMemcache(self): tool_fetcher.ToolFetcherMemcache().fetch.return_value = [] # The mock response is just ints here for simplicity, though the real # function returns SliverTool objects. mock_datastore_response = [4, 5, 6] tool_fetcher.ToolFetcherDatastore().fetch.return_value = ( mock_datastore_response) tool_properties = tool_fetcher.ToolProperties(tool_id='mock_tool_a') fetcher_results_actual = self.fetcher.fetch(tool_properties) self.assertSequenceEqual(mock_datastore_response, fetcher_results_actual)
def testFetchDoesNotHitDatastoreIfMemcacheHasRequiredData(self): # The mock response is just ints here for simplicity, though the real # function returns SliverTool objects. mock_memcache_response = [1, 2, 3] tool_fetcher.ToolFetcherMemcache().fetch.return_value = ( mock_memcache_response) tool_properties = tool_fetcher.ToolProperties(tool_id='mock_tool_a') fetcher_results_actual = self.fetcher.fetch(tool_properties) self.assertSequenceEqual(mock_memcache_response, fetcher_results_actual) # Verify that we did not attempt to read from the Datastore self.assertFalse(tool_fetcher.ToolFetcherDatastore().fetch.called)
def setUp(self): self.testbed = testbed.Testbed() self.testbed.activate() self.testbed.init_memcache_stub() self.fetcher = tool_fetcher.ToolFetcherMemcache() self.created_tools = []