def test_update_instrument_responsible_users(instrument, users, capsys): instrument = instruments.get_instruments()[0] assert len(instrument.responsible_users) == 0 instruments.add_instrument_responsible_user(instrument.id, users[0].id) instruments.add_instrument_responsible_user(instrument.id, users[1].id) assert len(instrument.responsible_users) == 2 assert instrument.responsible_users == [ users[0], users[1] ] or instrument.responsible_users == [users[1], users[0]] scripts.main([ scripts.__file__, 'update_instrument_responsible_users', str(instrument.id), str(users[0].id), str(users[2].id) ]) assert "Success" in capsys.readouterr()[0] instrument = instruments.get_instruments()[0] assert len(instrument.responsible_users) == 2 assert instrument.responsible_users == [ users[0], users[2] ] or instrument.responsible_users == [users[2], users[0]] scripts.main([ scripts.__file__, 'update_instrument_responsible_users', str(instrument.id) ]) assert "Success" in capsys.readouterr()[0] instrument = instruments.get_instruments()[0] assert len(instrument.responsible_users) == 0
def test_create_instrument(): assert len(instruments.get_instruments()) == 0 instrument = instruments.create_instrument(name="Example Instrument", description="") assert len(instruments.get_instruments()) == 1 assert instrument == instruments.get_instrument( instrument_id=instrument.id) assert len(instrument.responsible_users) == 0
def test_create_instrument_missing_arguments(capsys): assert len(instruments.get_instruments()) == 0 with pytest.raises(SystemExit) as exc_info: scripts.main([scripts.__file__, 'create_instrument']) assert exc_info.value != 0 assert 'Usage' in capsys.readouterr()[0] assert len(instruments.get_instruments()) == 0
def test_update_instrument_responsible_users_invalid_instrument(instrument, users, capsys): instrument = instruments.get_instruments()[0] assert len(instrument.responsible_users) == 0 with pytest.raises(SystemExit) as exc_info: scripts.main([scripts.__file__, 'update_instrument_responsible_users', 'Example Instrument', str(users[0].id)]) assert exc_info.value != 0 assert "Error: instrument_id must be an integer" in capsys.readouterr()[1] instrument = instruments.get_instruments()[0] assert len(instrument.responsible_users) == 0
def test_update_instrument_responsible_users_invalid_user(instrument, capsys): instrument = instruments.get_instruments()[0] assert len(instrument.responsible_users) == 0 with pytest.raises(SystemExit) as exc_info: scripts.main([scripts.__file__, 'update_instrument_responsible_users', str(instrument.id), 'User 1']) assert exc_info.value != 0 assert "Error: instrument_reponsible_user_ids must be integer" in capsys.readouterr()[1] instrument = instruments.get_instruments()[0] assert len(instrument.responsible_users) == 0
def test_update_instrument_responsible_users_missing_user(instrument, capsys): instrument = instruments.get_instruments()[0] assert len(instrument.responsible_users) == 0 with pytest.raises(SystemExit) as exc_info: scripts.main([scripts.__file__, 'update_instrument_responsible_users', str(instrument.id), '42']) assert exc_info.value != 0 assert "Error: no user with the id #42 exists" in capsys.readouterr()[1] instrument = instruments.get_instruments()[0] assert len(instrument.responsible_users) == 0
def test_update_instrument_responsible_users_missing_arguments(instrument, users, capsys): instrument = instruments.get_instruments()[0] assert len(instrument.responsible_users) == 0 with pytest.raises(SystemExit) as exc_info: scripts.main([scripts.__file__, 'update_instrument_responsible_users']) assert exc_info.value != 0 assert "Usage" in capsys.readouterr()[0] instrument = instruments.get_instruments()[0] assert len(instrument.responsible_users) == 0
def test_create_existing_instrument(capsys): name = 'Example Instrument' description = 'Example Instrument Description' instruments.create_instrument(name, description) assert len(instruments.get_instruments()) == 1 with pytest.raises(SystemExit) as exc_info: scripts.main([scripts.__file__, 'create_instrument', name, description]) assert exc_info.value != 0 assert 'Error: an instrument with this name already exists' in capsys.readouterr()[1] assert len(instruments.get_instruments()) == 1
def test_update_missing_instrument(capsys): name = 'Example Instrument' description = 'Example Instrument Description' assert len(instruments.get_instruments()) == 0 with pytest.raises(SystemExit) as exc_info: scripts.main( [scripts.__file__, 'update_instrument', str(1), name, description]) assert exc_info.value != 0 assert "Error: no instrument with this id exists" in capsys.readouterr()[1] assert len(instruments.get_instruments()) == 0
def test_create_instrument(capsys): name = 'Example Instrument' description = 'Example Instrument Description' assert len(instruments.get_instruments()) == 0 scripts.main([scripts.__file__, 'create_instrument', name, description]) assert 'Success' in capsys.readouterr()[0] assert len(instruments.get_instruments()) == 1 instrument = instruments.get_instruments()[0] assert instrument.name == name assert instrument.description == description assert len(instrument.responsible_users) == 0
def test_update_instrument_invalid_instrument_id(capsys): name = 'Example Instrument' description = 'Example Instrument Description' instrument = instruments.create_instrument(name, description) assert len(instruments.get_instruments()) == 1 with pytest.raises(SystemExit) as exc_info: scripts.main([scripts.__file__, 'update_instrument', name, name, ""]) assert exc_info.value != 0 assert "Error: instrument_id must be an integer" in capsys.readouterr()[1] assert len(instruments.get_instruments()) == 1 instrument = instruments.get_instruments()[0] assert instrument.name == name assert instrument.description == description
def test_update_instrument(capsys): name = 'Example Instrument' description = 'Example Instrument Description' instrument = instruments.create_instrument(name, description) assert len(instruments.get_instruments()) == 1 scripts.main( [scripts.__file__, 'update_instrument', str(instrument.id), name, '']) assert "Success" in capsys.readouterr()[0] assert len(instruments.get_instruments()) == 1 instrument = instruments.get_instruments()[0] assert instrument.name == name assert instrument.description == '' assert len(instrument.responsible_users) == 0
def test_update_instrument_missing_arguments(capsys): name = 'Example Instrument' description = 'Example Instrument Description' instrument = instruments.create_instrument(name, description) assert len(instruments.get_instruments()) == 1 with pytest.raises(SystemExit) as exc_info: scripts.main( [scripts.__file__, 'update_instrument', str(instrument.id)]) assert exc_info.value != 0 assert "Usage" in capsys.readouterr()[0] assert len(instruments.get_instruments()) == 1 instrument = instruments.get_instruments()[0] assert instrument.name == name assert instrument.description == description
def get(self): instruments = get_instruments() return [instrument_to_json(instrument) for instrument in instruments]
def test_list_instruments(instruments, capsys): scripts.main([scripts.__file__, 'list_instruments']) output = capsys.readouterr()[0] instruments = get_instruments() for instrument in get_instruments(): assert '- #{0}: {1}'.format(instrument.id, instrument.name) in output