def testMissingContentRangeResultsIn400BadRequest(self): data = 'a' * (5*K) record = do_test(self, packet_type='FRAGMENT', session_id='{00000000-0000-0000-0000-000000000111}', data=data, headers=None, expected_status=400, expected_error_code=BITS_E_INVALIDARG, expected_error_context=BITS_CONTEXT_SERVER) moreasserts.assertVdiIsZeroUsingHttpGet(self, record, VDI_MB) clean_up()
def testExposeWithParallelGetRecord(self): hostname, network, vdi = testsetup.setup_host_and_network(templates=1, vdi_mb=10) asyncexpose = ExposeThread(hostname, network, vdi) asyncexpose.start() record = {'status': 'unused'} while record['status'] == 'unused': logging.debug('VDI status still unused, getting record') record = transferclient.get_record(hostname, vdi_uuid=vdi) moreasserts.assertVdiIsZeroUsingHttpGet(self, record, 10)
def testInvalidContentRangeResultsIn400BadRequest(self): data = 'a' * (5*K) rangeheader = http_test.content_range_header(1*M, 1*M + len(data), 2 * VDI_MB*M) record = do_test(self, packet_type='FRAGMENT', session_id='{00000000-0000-0000-0000-000000000222}', data=data, headers={'Content-Range': rangeheader}, expected_status=400, expected_error_code=BITS_E_INVALIDARG, expected_error_context=BITS_CONTEXT_SERVER) moreasserts.assertVdiIsZeroUsingHttpGet(self, record, VDI_MB) clean_up()
def testMissingContentRangeResultsIn400BadRequest(self): data = 'a' * (5 * K) record = do_test(self, packet_type='FRAGMENT', session_id='{00000000-0000-0000-0000-000000000111}', data=data, headers=None, expected_status=400, expected_error_code=BITS_E_INVALIDARG, expected_error_context=BITS_CONTEXT_SERVER) moreasserts.assertVdiIsZeroUsingHttpGet(self, record, VDI_MB) clean_up()
def testExposeWhileHammeringCleanup(self): hostname, network, vdi = testsetup.setup_host_and_network(templates=1, vdi_mb=10) asyncexpose = ExposeThread(hostname, network, vdi) asyncexpose.start() # Assumes that transferclient.expose is slow. while asyncexpose.isAlive(): logging.debug('Cleaning up') transferclient.cleanup(hostname) time.sleep(0.0001) record = transferclient.get_record(hostname, vdi_uuid=vdi) moreasserts.assertVdiIsZeroUsingHttpGet(self, record, 10)
def testParallelExposes(self): parallelism = 3 hostname, network, firstvdi = testsetup.setup_host_and_network(templates=1, vdi_mb=10) vdis = [firstvdi] + [transferclient.create_vdi(hostname, 'Test VDI', 10*M) for i in xrange(parallelism - 1)] threads = [ExposeThread(hostname, network, vdi) for vdi in vdis] for t in threads: t.start() for t in threads: t.join() records = [transferclient.get_record(hostname, vdi_uuid=vdi) for vdi in vdis] for record in records: moreasserts.assertVdiIsZeroUsingHttpGet(self, record, 10)
def testMissingBitsSessionIdResultsIn400BadRequest(self): data = 'a' * (5*K) rangeheader = http_test.content_range_header(1*M, 1*M + len(data), VDI_MB*M) record = do_test(self, packet_type='FRAGMENT', session_id=None, data=data, headers={'Content-Range': rangeheader}, expected_status=400, expected_error_code=BITS_E_INVALIDARG, expected_error_context=BITS_CONTEXT_SERVER) logging.debug('record') logging.debug(record) moreasserts.assertVdiIsZeroUsingHttpGet(self, record, VDI_MB) clean_up()
def testInvalidContentRangeResultsIn400BadRequest(self): data = 'a' * (5 * K) rangeheader = http_test.content_range_header(1 * M, 1 * M + len(data), 2 * VDI_MB * M) record = do_test(self, packet_type='FRAGMENT', session_id='{00000000-0000-0000-0000-000000000222}', data=data, headers={'Content-Range': rangeheader}, expected_status=400, expected_error_code=BITS_E_INVALIDARG, expected_error_context=BITS_CONTEXT_SERVER) moreasserts.assertVdiIsZeroUsingHttpGet(self, record, VDI_MB) clean_up()
def testMissingBitsSessionIdResultsIn400BadRequest(self): data = 'a' * (5 * K) rangeheader = http_test.content_range_header(1 * M, 1 * M + len(data), VDI_MB * M) record = do_test(self, packet_type='FRAGMENT', session_id=None, data=data, headers={'Content-Range': rangeheader}, expected_status=400, expected_error_code=BITS_E_INVALIDARG, expected_error_context=BITS_CONTEXT_SERVER) logging.debug('record') logging.debug(record) moreasserts.assertVdiIsZeroUsingHttpGet(self, record, VDI_MB) clean_up()
def assertVdiZero(self, ip, port, record, vdi_mb): # Make a new record with the IP and port fields updated r = dict(record, ip=ip, port=port) moreasserts.assertVdiIsZeroUsingHttpGet(self, r, vdi_mb)