Exemple #1
0
 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()
Exemple #2
0
    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)
Exemple #3
0
 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()
Exemple #4
0
 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()
Exemple #5
0
    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)
Exemple #6
0
    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)
Exemple #7
0
    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()
Exemple #8
0
 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()
Exemple #9
0
 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)