Example #1
0
 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)
Example #2
0
 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
Example #3
0
 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
Example #4
0
 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)
Example #5
0
    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'])
Example #6
0
 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)
Example #7
0
 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
         )
Example #8
0
 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")
Example #9
0
 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)
Example #10
0
 def test_city_bombing(self):
     self.attack(citybombing)
     self.assertEqual(self.defender.manpower, 90)
     self.assertGreater(
         nation_generator(random=False).qol, self.defender.qol)
Example #11
0
 def setUpTestData(cls):
     cls.client = Client()
     nation_generator(10)
     alliance_generator()