def test_get_reservation(client_constructor): grpc_client = setup_mock_(client_constructor) name = 'projects/proj/processors/processor0/reservations/papar-party-44' result = qtypes.QuantumReservation( name=name, start_time=Timestamp(seconds=1000000000), end_time=Timestamp(seconds=1000002000), whitelisted_users=['*****@*****.**'], ) grpc_client.get_quantum_reservation.return_value = result client = EngineClient() assert (client.get_reservation('proj', 'processor0', 'papar-party-44') == result) kwargs = grpc_client.get_quantum_reservation.call_args[1] assert kwargs == { 'name': name, }
def test_remove_reservation_cancel(cancel_reservation, get_reservation): name = 'projects/proj/processors/p0/reservations/rid' now = int(datetime.datetime.now().timestamp()) result = qtypes.QuantumReservation( name=name, start_time=Timestamp(seconds=now + 10), end_time=Timestamp(seconds=now + 3610), whitelisted_users=['*****@*****.**'], ) get_reservation.return_value = result cancel_reservation.return_value = result processor = cg.EngineProcessor( 'proj', 'p0', EngineContext(), qtypes.QuantumProcessor(schedule_frozen_period=Duration( seconds=10000)), ) assert processor.remove_reservation('rid') == result cancel_reservation.assert_called_once_with('proj', 'p0', 'rid')
def test_update_reservation(update_reservation): name = 'projects/proj/processors/p0/reservations/rid' result = qtypes.QuantumReservation( name=name, start_time=Timestamp(seconds=1000000000), end_time=Timestamp(seconds=1000003600), whitelisted_users=['*****@*****.**'], ) start = datetime.datetime.fromtimestamp(1000000000) end = datetime.datetime.fromtimestamp(1000003600) update_reservation.return_value = result processor = cg.EngineProcessor('proj', 'p0', EngineContext()) assert processor.update_reservation('rid', start, end, ['*****@*****.**']) == result update_reservation.assert_called_once_with( 'proj', 'p0', 'rid', start=start, end=end, whitelisted_users=['*****@*****.**'])
def test_remove_reservation_failures(get_reservation, get_processor): name = 'projects/proj/processors/p0/reservations/rid' now = int(datetime.datetime.now().timestamp()) result = qtypes.QuantumReservation( name=name, start_time=Timestamp(seconds=now + 10), end_time=Timestamp(seconds=now + 3610), whitelisted_users=['*****@*****.**'], ) get_reservation.return_value = result get_processor.return_value = None # no processor processor = cg.EngineProcessor('proj', 'p0', EngineContext()) with pytest.raises(ValueError): processor.remove_reservation('rid') # No freeze period defined processor = cg.EngineProcessor('proj', 'p0', EngineContext(), qtypes.QuantumProcessor()) with pytest.raises(ValueError): processor.remove_reservation('rid')
def test_create_reservation(create_reservation): name = 'projects/proj/processors/p0/reservations/psherman-wallaby-way' result = qtypes.QuantumReservation( name=name, start_time=Timestamp(seconds=1000000000), end_time=Timestamp(seconds=1000003600), whitelisted_users=['*****@*****.**'], ) create_reservation.return_value = result processor = cg.EngineProcessor('proj', 'p0', EngineContext()) assert processor.create_reservation( datetime.datetime.fromtimestamp(1000000000), datetime.datetime.fromtimestamp(1000003600), ['*****@*****.**'], ) create_reservation.assert_called_once_with( 'proj', 'p0', datetime.datetime.fromtimestamp(1000000000), datetime.datetime.fromtimestamp(1000003600), ['*****@*****.**'], )
def test_update_reservation_remove_all_users(client_constructor): grpc_client = setup_mock_(client_constructor) name = 'projects/proj/processors/processor0/reservations/papar-party-44' result = qtypes.QuantumReservation( name=name, whitelisted_users=[], ) grpc_client.update_quantum_reservation.return_value = result client = EngineClient() assert (client.update_reservation( 'proj', 'processor0', 'papar-party-44', whitelisted_users=[], ) == result) kwargs = grpc_client.update_quantum_reservation.call_args[1] assert kwargs == { 'name': name, 'quantum_reservation': result, 'update_mask': FieldMask(paths=['whitelisted_users']) }
def test_create_reservation(client_constructor): grpc_client = setup_mock_(client_constructor) start = datetime.datetime.fromtimestamp(1000000000) end = datetime.datetime.fromtimestamp(1000003600) users = ['*****@*****.**'] result = qtypes.QuantumReservation( name='projects/proj/processors/processor0/reservations/papar-party-44', start_time=Timestamp(seconds=1000000000), end_time=Timestamp(seconds=1000003600), whitelisted_users=users, ) grpc_client.create_quantum_reservation.return_value = result client = EngineClient() assert client.create_reservation('proj', 'processor0', start, end, users) == result assert grpc_client.create_quantum_reservation.call_count == 1 kwargs = grpc_client.create_quantum_reservation.call_args[1] # The outgoing argument will not have the resource name result.name = '' assert kwargs == { 'parent': 'projects/proj/processors/processor0', 'quantum_reservation': result }