def test_get_group(meetup_groups: dict, app: Flask): runner: FlaskCliRunner = app.test_cli_runner() # run command without params result_1: Result = runner.invoke(get_group) assert result_1.exit_code == 1 # test with exiting group result_2: Result = runner.invoke(get_group, [meetup_groups["sandbox"]["urlname"]]) assert result_2.exit_code == 0 # test with sandbox group result_3: Result = runner.invoke(get_group, ["--sandbox", "True"]) assert result_3.exit_code == 0 # test with not-exist group result_4: Result = runner.invoke(get_group, [meetup_groups["not-exist"]["urlname"]]) assert result_4.exit_code == 2 # test with gone group result_5: Result = runner.invoke(get_group, [meetup_groups["gone"]["urlname"]]) assert result_5.exit_code == 2
def test_get_groups_with_events(meetup_groups: dict, app: Flask): runner: FlaskCliRunner = app.test_cli_runner() # load all groups from JSON test file result_1: Result = runner.invoke( get_groups, ["/app/compose/local/flask/meetup_groups"] ) assert result_1.exit_code == 0 sleep(1) # load group group_1: Group = Group.get_group(urlname=meetup_groups["sandbox"]["urlname"]) # check if group has events assert len(group_1.events) > 0
def test_update_groups(group_1: Group, meetup_groups: dict, app: Flask): runner: FlaskCliRunner = app.test_cli_runner() # init group to update group_1.urlname = meetup_groups["sandbox"]["urlname"] group_1.save() sleep(2) # update all groups result_1: Result = runner.invoke(update_groups) assert result_1.exit_code == 0 sleep(2) # check if group was updated group_2: Group = Group.get_group(urlname=group_1.urlname) assert len(group_2.events) > 0
def test_load_zip_codes(app: Flask): runner: FlaskCliRunner = app.test_cli_runner() # load zip codes from berlin result_1: Result = runner.invoke( load_zip_codes_command, ["52.3570365", "52.6770365", "13.2288599", "13.5488599"] ) assert result_1.exit_code == 0 sleep(2) assert len(MeetupZip.get_all_zips()) > 0 # force http error result_2: Result = runner.invoke( load_zip_codes_command, ["10000", "10001", "10000", "10001"] ) assert result_2.exit_code == 1
def test_migrate_models_command(app: Flask): runner: FlaskCliRunner = app.test_cli_runner() # delete index delte_index() # check if index was deleted with pytest.raises(NotFoundError): Group.get_all_groups() with pytest.raises(NotFoundError): MeetupZip.get_all_zips() # migrate models result_1: Result = runner.invoke(migrate_models_command) assert result_1.exit_code == 0 sleep(2) # check if indexes was created assert isinstance(Group.get_all_groups(), List) assert isinstance(MeetupZip.get_all_zips(), List)
def runner(app: Flask): return app.test_cli_runner()