14259: Add method to keep client to request remote block copy via HEAD request.
[arvados.git] / sdk / python / tests / test_keep_client.py
index a7b79933bbc2999381fea887ac3a70e77f346b3c..a6211e7ea939a92bc0497cf2555ce105389dc503 100644 (file)
@@ -934,6 +934,16 @@ class KeepClientGatewayTestCase(unittest.TestCase, tutil.ApiClientMock):
                          MockCurl.return_value.getopt(pycurl.URL).decode())
         self.assertEqual(True, self.keepClient.head(locator))
 
+    @mock.patch('pycurl.Curl')
+    def test_refresh_signature(self, MockCurl):
+        blk_digest = '6f5902ac237024bdd0c176cb93063dc4+11'
+        blk_sig = 'da39a3ee5e6b4b0d3255bfef95601890afd80709@53bed294'
+        MockCurl.return_value = tutil.FakeCurl.make(
+            code=200, body='', headers={'X-Keep-Locator':blk_digest+'+A'+blk_sig})
+        self.mock_disks_and_gateways()
+        locator = blk_digest+'+R'+blk_sig
+        self.assertEqual(blk_digest+'+A'+blk_sig, self.keepClient.refresh_signature(locator))
+
     @mock.patch('pycurl.Curl')
     def test_get_with_gateway_hints_in_order(self, MockCurl):
         gateways = 4