def setUp(self): self.attacker = nation_generator(random=False) self.attacker.military.army = 30 self.attacker.military.weapons = 50 self.attacker.military.save() self.defender = nation_generator() self.defender.military.army = 20 self.defender.military.weapons = 50 self.defender.military.save() self.war = War.objects.create(attacker=self.attacker, defender=self.defender)
def setUp(cls): c = Client() Market.objects.create() q = User.objects.create_user('aaaa', '*****@*****.**', 'password') a = Nation.objects.create(user=q) nation_generator(15) alliance_generator() a.spies.create(location=a) cls.subject = a c.force_login(q) cls.client = c
def setUp(self): c = Client() Market.objects.create() q = User.objects.create_user('aaaa', '*****@*****.**', 'password') a = Nation.objects.create(user=q) nation_generator(15) alliance = alliance_generator(founder=a, members=10, officers=2) alliance_generator(members=10, officers=2) c.force_login(q) self.client = c a.refresh_from_db() self.founder = a
def setUp(self): self.attacker = nation_generator(random=False) self.defender = nation_generator(random=False) self.attacker.military.planes = 10 self.attacker.military.save() self.defender.military.planes = 1 self.defender.military.navy = 1 self.defender.wells = 1 self.defender.factories = 1 self.defender.military.chems = 10 self.defender.save() self.defender.military.save() self.war = War.objects.create(attacker=self.attacker, defender=self.defender)
def test_notification_squad(self): founder = nation_generator() alliance = Alliance.objects.create(founder=founder.name) members = nation_generator(20) for member in members: alliance.add_member(member) invite_officers = nation_generator(5) application_officers = nation_generator(5) bothlol_officers = nation_generator(5) invite_template = alliance.templates.create(invite=True, rank=3) application_template = alliance.templates.create(applicants=True, rank=3) both_template = alliance.templates.create(invite=True, applicants=True, rank=3) for a, b, c in zip(invite_officers, application_officers, bothlol_officers): for officer, template in zip( [a, b, c], [invite_template, application_template, both_template]): alliance.add_member(officer) officer.permissions.template = template officer.permissions.save() self.assertEqual( alliance.members.filter(permissions__template__rank__lt=5).count(), 16, msg="Should have 15 officers and 1 founder") self.assertEqual(alliance.notification_squad('invite').count(), 11, msg="invite permission should be 5+5 + founder") self.assertEqual(alliance.notification_squad('applicants').count(), 11, msg="applicant permission should be 5+5 + founder") self.assertEqual( alliance.notification_squad(['invite', 'applicants']).count(), 16, msg="invite and applicant permissions should be everyone") self.assertEqual(alliance.notification_squad(['kick']).count(), 1, msg="only the founder has kick permission") #check that it doesn't just accept wrong permission types self.assertRaises(ValueError, alliance.notification_squad, 'not_a_permission') self.assertRaises(ValueError, alliance.notification_squad, ['invite', 'not_a_permission'])
def test_foundered_creation(self): n = nation_generator() alliance = Alliance.objects.create(founder=n.name) self.check_allianceattrs(alliance) self.assertEqual(alliance.members.count(), 1) self.assertEqual(alliance.memberstats.count(), 1) self.assertEqual(alliance.permissions.count(), 1) self.check_allianceattrs(alliance)
def test_founded_alliance(self): subject = nation_generator() alliance = Alliance.objects.create(founder=subject.name) self.base_test(alliance) self.assertEqual(alliance.members.all().count(), 1) self.assertEqual(alliance.permissions.all().count(), 1) self.assertEqual(alliance.memberstats.all().count(), 1 )
def test_invalid_login(self): subject = nation_generator() username = subject.user.username password = "******" client = Client() payload = {'username': username, 'password': password} response = client.post('/login/', payload) self.assertEqual(response.status_code, 200, msg="invalid logins should just return error")
def test_valid_loggin(self): subject = nation_generator() username = subject.user.username password = "******" subject.user.set_password(password) subject.user.save() client = Client() payload = {'username': username, 'password': password} response = client.post('/login/', payload) self.assertEqual(response.status_code, 302, msg="valid logins should redirect to /main/") response = client.get('/main/') self.assertEqual(response.status_code, 200)
def test_city_bombing(self): self.attack(citybombing) self.assertEqual(self.defender.manpower, 90) self.assertGreater( nation_generator(random=False).qol, self.defender.qol)
def setUpTestData(cls): cls.client = Client() nation_generator(10) alliance_generator()