def test_last_check_result_true(self): team = generate_sample_model_tree('Team', self.session) service = Service(name="Example Service", team=team, check_name="ICMP IPv4 Check", host='127.0.0.1') self.session.add(service) round_obj = generate_sample_model_tree('Round', self.session) check_1 = Check(round=round_obj, service=service, result=False, output='Check exceeded time') self.session.add(check_1) check_2 = Check(round=round_obj, service=service, result=False, output='Check exceeded time') self.session.add(check_2) check_3 = Check(round=round_obj, service=service, result=True, output='Good output') self.session.add(check_3) self.session.commit() assert service.last_check_result() is True
def test_get_last_round_num_rounds_exist(self): generate_sample_model_tree('Service', self.session) round_5 = Round(number=5) self.session.add(round_5) round_6 = Round(number=6) self.session.add(round_6) self.session.commit() assert Round.get_last_round_num() == 6
def test_checks(self): service = generate_sample_model_tree('Service', self.db) round_obj = generate_sample_model_tree('Round', self.db) check_1 = Check(round=round_obj, service=service) self.db.save(check_1) check_2 = Check(round=round_obj, service=service) self.db.save(check_2) check_3 = Check(round=round_obj, service=service) self.db.save(check_3) assert service.checks == [check_1, check_2, check_3]
def test_checks(self): service = generate_sample_model_tree('Service', self.session) round_obj = generate_sample_model_tree('Round', self.session) check_1 = Check(round=round_obj, service=service) self.session.add(check_1) check_2 = Check(round=round_obj, service=service) self.session.add(check_2) check_3 = Check(round=round_obj, service=service) self.session.add(check_3) self.session.commit() assert service.checks == [check_1, check_2, check_3]
def test_percent_earned(self): service = generate_sample_model_tree('Service', self.db) service = generate_sample_model_tree('Service', self.db) check_1 = Check(service=service, result=True, output='Good output') check_2 = Check(service=service, result=True, output='Good output') check_3 = Check(service=service, result=True, output='Good output') check_4 = Check(service=service, result=True, output='Good output') check_5 = Check(service=service, result=False, output='bad output') self.db.save(check_1) self.db.save(check_2) self.db.save(check_3) self.db.save(check_4) self.db.save(check_5) assert service.percent_earned == 80
def test_basic_property(self): service = generate_sample_model_tree('Service', self.db) account = Account(username="******", password="******", service=service) self.db.save(account) assert account.id is not None assert account.service == service assert account.service_id == service.id
def test_current_score(self): team = generate_sample_model_tree('Team', self.session) service_1 = Service(name="Example Service 1", team=team, check_name="ICMP IPv4 Check", host='127.0.0.1') self.session.add(service_1) check_1 = Check(service=service_1, result=True, output='Good output') self.session.add(check_1) service_2 = Service(name="Example Service 2", team=team, check_name="SSH IPv4 Check", host='127.0.0.2') self.session.add(service_2) check_2 = Check(service=service_2, result=True, output='Good output') self.session.add(check_2) check_3 = Check(service=service_2, result=True, output='Good output') self.session.add(check_3) service_3 = Service(name="Example Service 3", team=team, check_name="SSH IPv4 Check", host='127.0.0.3') self.session.add(service_3) check_3 = Check(service=service_3, result=False, output='bad output') self.session.add(check_3) self.session.commit() assert team.current_score == 300
def test_users(self): team = generate_sample_model_tree('Team', self.db) user_1 = User(username="******", password="******", team=team) user_2 = User(username="******", password="******", team=team) self.db.save(user_1) self.db.save(user_2) assert team.users == [user_1, user_2]
def test_username_unique(self): team = generate_sample_model_tree('Team', self.db) user1 = User(username="******", password="******", team=team) self.db.save(user1) with pytest.raises(IntegrityError): user2 = User(username="******", password="******", team=team) self.db.save(user2)
def test_get_last_round_num_rounds_exist(self): service = generate_sample_model_tree('Service', self.db) round_5 = Round(number=5) self.db.save(round_5) round_6 = Round(number=6) self.db.save(round_6) assert Round.get_last_round_num() == 6
def test_users(self): team = generate_sample_model_tree('Team', self.session) user_1 = User(username="******", password="******", team=team) user_2 = User(username="******", password="******", team=team) self.session.add(user_1) self.session.add(user_2) self.session.commit() assert team.users == [user_1, user_2]
def test_nonhidden_property(self): environment = generate_sample_model_tree('Environment', self.db) property_obj = Property(name="ip", value="127.0.0.1", environment=environment, visible=True) self.db.save(property_obj) assert property_obj.visible is True
def test_last_check_result_not_found(self): team = generate_sample_model_tree('Team', self.db) service = Service(name="Example Service", team=team, check_name="ICMP IPv4 Check", ip_address='127.0.0.1') self.db.save(service) assert service.last_check_result() is None
def test_username_unique(self): team = generate_sample_model_tree("Team", self.session) user1 = User(username="******", password="******", team=team) self.session.add(user1) self.session.commit() with pytest.raises(IntegrityError): user2 = User(username="******", password="******", team=team) self.session.add(user2) self.session.commit()
def test_last_check_result_not_found(self): team = generate_sample_model_tree('Team', self.session) service = Service(name="Example Service", team=team, check_name="ICMP IPv4 Check", host='127.0.0.1') self.session.add(service) self.session.commit() assert service.last_check_result() is None
def test_normal_service_id(self): user = self.create_default_user() service = generate_sample_model_tree('Service', self.session) self.set_blue_team(user.team) service.team = user.team self.session.add(service) self.session.commit() resp = self.auth_and_get_path('/service/1') assert resp.status_code == 200
def test_unauthorized_services(self): user = self.create_default_user() service = generate_sample_model_tree('Service', self.session) self.set_white_team(user.team) service.team = user.team self.session.add(service) self.session.commit() resp = self.auth_and_get_path('/services') assert resp.status_code == 302
def test_environments(self): service = generate_sample_model_tree('Service', self.session) environment_1 = Environment(service=service, matching_content='*') self.session.add(environment_1) environment_2 = Environment(service=service, matching_content='*') self.session.add(environment_2) environment_3 = Environment(service=service, matching_content='*') self.session.add(environment_3) self.session.commit() assert service.environments == [environment_1, environment_2, environment_3]
def test_accounts(self): service = generate_sample_model_tree('Service', self.session) account_1 = Account(username="******", password="******", service=service) self.session.add(account_1) account_2 = Account(username="******", password="******", service=service) self.session.add(account_2) account_3 = Account(username="******", password="******", service=service) self.session.add(account_3) self.session.commit() assert service.accounts == [account_1, account_2, account_3]
def test_basic_property(self): environment = generate_sample_model_tree('Environment', self.db) property_obj = Property(name="ip", value="127.0.0.1", environment=environment) self.db.save(property_obj) assert property_obj.id is not None assert property_obj.environment == environment assert property_obj.environment_id == environment.id assert property_obj.visible is False
def test_basic_user(self): team = generate_sample_model_tree('Team', self.db) user = User(username="******", password="******", team=team) self.db.save(user) assert user.id is 1 assert user.username == "testuser" assert user.password == User.generate_hash('testpass') assert user.team is team assert user.team_id is team.id assert user.get_id() == 1
def test_last_ten_checks_4_checks(self): service = generate_sample_model_tree('Service', self.db) check_1 = Check(service=service, result=True, output='Good output') check_2 = Check(service=service, result=True, output='Good output') check_3 = Check(service=service, result=True, output='Good output') check_4 = Check(service=service, result=True, output='Good output') self.db.save(check_1) self.db.save(check_2) self.db.save(check_3) self.db.save(check_4) assert service.last_ten_checks == [check_4, check_3, check_2, check_1]
def test_environments(self): service = generate_sample_model_tree('Service', self.db) environment_1 = Environment(service=service, matching_regex='*') self.db.save(environment_1) environment_2 = Environment(service=service, matching_regex='*') self.db.save(environment_2) environment_3 = Environment(service=service, matching_regex='*') self.db.save(environment_3) assert service.environments == [ environment_1, environment_2, environment_3 ]
def test_basic_user(self): team = generate_sample_model_tree("Team", self.session) user = User(username="******", password="******", team=team) self.session.add(user) self.session.commit() assert user.id == 1 assert user.username == "testuser" assert user.password == User.generate_hash("testpass") assert user.team is team assert user.team_id is team.id assert user.get_id() == 1
def test_basic_service(self): service = generate_sample_model_tree('Service', self.db) environment = Environment(service=service, matching_regex='*') self.db.save(environment) property_1 = Property(name='example_property1', value='somevalue', environment=environment) property_2 = Property(name='example_property2', value='anotheralue', environment=environment) self.db.save(property_1) self.db.save(property_2) assert environment.id is not None assert environment.service_id == service.id assert environment.service == service assert environment.properties == [property_1, property_2]
def test_normal_services(self): user = self.create_default_user() service = generate_sample_model_tree('Service', self.session) self.set_blue_team(user.team) service.team = user.team self.session.add(service) self.session.commit() resp = self.auth_and_get_path('/services') assert resp.status_code == 200 assert self.mock_obj.call_args == self.build_args('services.html', team_name='Team 1', team_id=1)
def test_basic_service_with_worker_queue(self): team = generate_sample_model_tree('Team', self.session) service = Service(name="Example Service", team=team, check_name="ICMP IPv4 Check", host='127.0.0.1', worker_queue='somequeue') self.session.add(service) self.session.commit() assert service.id is not None assert service.name == "Example Service" assert service.team == team assert service.team_id == team.id assert service.check_name == "ICMP IPv4 Check" assert service.port == 0 assert service.points == 100 assert service.worker_queue == 'somequeue'
def test_services(self): team = generate_sample_model_tree('Team', self.db) service_1 = Service(name="Example Service 1", team=team, check_name="ICMP IPv4 Check", ip_address='127.0.0.1') service_2 = Service(name="Example Service 2", team=team, check_name="SSH IPv4 Check", ip_address='2.3.4.5') self.db.save(service_1) self.db.save(service_2) assert team.services == [service_1, service_2]
def test_max_score(self): service = generate_sample_model_tree('Service', self.db) check_1 = Check(service=service, result=True, output='Good output') check_2 = Check(service=service, result=True, output='Good output') check_3 = Check(service=service, result=True, output='Good output') check_4 = Check(service=service, result=True, output='Good output') check_5 = Check(service=service, result=False, output='bad output') self.db.save(check_1) self.db.save(check_2) self.db.save(check_3) self.db.save(check_4) self.db.save(check_5) assert service.max_score == 500
def test_score_earned(self): service = generate_sample_model_tree('Service', self.session) check_1 = Check(service=service, result=True, output='Good output') check_2 = Check(service=service, result=True, output='Good output') check_3 = Check(service=service, result=True, output='Good output') check_4 = Check(service=service, result=True, output='Good output') check_5 = Check(service=service, result=False, output='bad output') self.session.add(check_1) self.session.add(check_2) self.session.add(check_3) self.session.add(check_4) self.session.add(check_5) self.session.commit() assert service.score_earned == 400