def test_gen_headers(self): stub_user_agent = 'direct-client %s' % os.getpid() headers = direct_client.gen_headers() self.assertEqual(headers['user-agent'], stub_user_agent) self.assertEqual(1, len(headers)) now = time.time() headers = direct_client.gen_headers(add_ts=True) self.assertEqual(headers['user-agent'], stub_user_agent) self.assertTrue(now - 1 < Timestamp(headers['x-timestamp']) < now + 1) self.assertEqual(headers['x-timestamp'], Timestamp(headers['x-timestamp']).internal) self.assertEqual(2, len(headers)) headers = direct_client.gen_headers(hdrs_in={'foo-bar': '47'}) self.assertEqual(headers['user-agent'], stub_user_agent) self.assertEqual(headers['foo-bar'], '47') self.assertEqual(2, len(headers)) headers = direct_client.gen_headers(hdrs_in={'user-agent': '47'}) self.assertEqual(headers['user-agent'], stub_user_agent) self.assertEqual(1, len(headers)) for policy in POLICIES: for add_ts in (True, False): now = time.time() headers = direct_client.gen_headers( {'X-Backend-Storage-Policy-Index': policy.idx}, add_ts=add_ts) self.assertEqual(headers['user-agent'], stub_user_agent) self.assertEqual(headers['X-Backend-Storage-Policy-Index'], str(policy.idx)) expected_header_count = 2 if add_ts: expected_header_count += 1 self.assertEqual( headers['x-timestamp'], Timestamp(headers['x-timestamp']).internal) self.assertTrue( now - 1 < Timestamp(headers['x-timestamp']) < now + 1) self.assertEqual(expected_header_count, len(headers))
def test_gen_headers(self): hdrs = direct_client.gen_headers() assert 'user-agent' in hdrs assert hdrs['user-agent'] == 'direct-client %s' % os.getpid() assert len(hdrs.keys()) == 1 hdrs = direct_client.gen_headers(add_ts=True) assert 'user-agent' in hdrs assert 'x-timestamp' in hdrs assert len(hdrs.keys()) == 2 hdrs = direct_client.gen_headers(hdrs_in={'foo-bar': '47'}) assert 'user-agent' in hdrs assert 'foo-bar' in hdrs assert hdrs['foo-bar'] == '47' assert len(hdrs.keys()) == 2 hdrs = direct_client.gen_headers(hdrs_in={'user-agent': '47'}) assert 'user-agent' in hdrs assert hdrs['user-agent'] == 'direct-client %s' % os.getpid() assert len(hdrs.keys()) == 1
def test_gen_headers(self): stub_user_agent = 'direct-client %s' % os.getpid() headers = direct_client.gen_headers(add_ts=False) self.assertEqual( dict(headers), { 'User-Agent': stub_user_agent, 'X-Backend-Allow-Reserved-Names': 'true', }) with mock.patch('swift.common.utils.Timestamp.now', return_value=Timestamp('123.45')): headers = direct_client.gen_headers() self.assertEqual( dict(headers), { 'User-Agent': stub_user_agent, 'X-Backend-Allow-Reserved-Names': 'true', 'X-Timestamp': '0000000123.45000', }) headers = direct_client.gen_headers(hdrs_in={'x-timestamp': '15'}) self.assertEqual( dict(headers), { 'User-Agent': stub_user_agent, 'X-Backend-Allow-Reserved-Names': 'true', 'X-Timestamp': '15', }) with mock.patch('swift.common.utils.Timestamp.now', return_value=Timestamp('12345.6789')): headers = direct_client.gen_headers(hdrs_in={'foo-bar': '63'}) self.assertEqual( dict(headers), { 'User-Agent': stub_user_agent, 'Foo-Bar': '63', 'X-Backend-Allow-Reserved-Names': 'true', 'X-Timestamp': '0000012345.67890', }) hdrs_in = {'foo-bar': '55'} headers = direct_client.gen_headers(hdrs_in, add_ts=False) self.assertEqual( dict(headers), { 'User-Agent': stub_user_agent, 'Foo-Bar': '55', 'X-Backend-Allow-Reserved-Names': 'true', }) with mock.patch('swift.common.utils.Timestamp.now', return_value=Timestamp('12345')): headers = direct_client.gen_headers(hdrs_in={'user-agent': '32'}) self.assertEqual( dict(headers), { 'User-Agent': '32', 'X-Backend-Allow-Reserved-Names': 'true', 'X-Timestamp': '0000012345.00000', }) hdrs_in = {'user-agent': '47'} headers = direct_client.gen_headers(hdrs_in, add_ts=False) self.assertEqual(dict(headers), { 'User-Agent': '47', 'X-Backend-Allow-Reserved-Names': 'true', }) for policy in POLICIES: for add_ts in (True, False): with mock.patch('swift.common.utils.Timestamp.now', return_value=Timestamp('123456789')): headers = direct_client.gen_headers( {'X-Backend-Storage-Policy-Index': policy.idx}, add_ts=add_ts) expected = { 'User-Agent': stub_user_agent, 'X-Backend-Storage-Policy-Index': str(policy.idx), 'X-Backend-Allow-Reserved-Names': 'true', } if add_ts: expected['X-Timestamp'] = '0123456789.00000' self.assertEqual(dict(headers), expected)