def test_xml(self): now = datetime.utcnow() domain = "test" now_plus_30 = now + timedelta(days=30) now_minus_30 = now - timedelta(days=30) record = new_key_record(None, None, now=now) xml = get_mobile_auth_payload([record], domain, now=now) check_xml_line_by_line( self, xml, """ <OpenRosaResponse xmlns="http://openrosa.org/http/response"> <message nature="submit_success">Here are your keys!</message> <auth_keys domain="{domain}" issued="{now}"> <key_record valid="{now}" expires="{now_plus_30}"> <uuid>{record.uuid}</uuid> <key type="{record.type}">{record.key}</key> </key_record> </auth_keys> </OpenRosaResponse> """.format( now=json_format_datetime(now), now_plus_30=json_format_datetime(now_plus_30), record=record, domain=domain, ), ) record = new_key_record(None, None, now=now, valid=now_minus_30) xml = get_mobile_auth_payload([record], domain, now=now) check_xml_line_by_line( self, xml, """ <OpenRosaResponse xmlns="http://openrosa.org/http/response"> <message nature="submit_success">Here are your keys!</message> <auth_keys domain="{domain}" issued="{now}"> <key_record valid="{now_minus_30}" expires="{now_plus_30}"> <uuid>{record.uuid}</uuid> <key type="{record.type}">{record.key}</key> </key_record> </auth_keys> </OpenRosaResponse> """.format( now=json_format_datetime(now), now_plus_30=json_format_datetime(now_plus_30), now_minus_30=json_format_datetime(now_minus_30), record=record, domain=domain, ), )
def test_xml(self): now = datetime.utcnow() domain = 'test' now_plus_30 = now + timedelta(days=30) now_minus_30 = now - timedelta(days=30) record = new_key_record(None, None, now=now) xml = get_mobile_auth_payload([record], domain, now=now) check_xml_line_by_line( self, xml, """ <OpenRosaResponse xmlns="http://openrosa.org/http/response"> <message nature="submit_success">Here are your keys!</message> <auth_keys domain="{domain}" issued="{now}"> <key_record valid="{now}" expires="{now_plus_30}"> <uuid>{record.uuid}</uuid> <key type="{record.type}">{record.key}</key> </key_record> </auth_keys> </OpenRosaResponse> """.format( now=self.format_datetime_no_usec(now), now_plus_30=self.format_datetime_no_usec(now_plus_30), record=record, domain=domain, )) record = new_key_record(None, None, now=now, valid=now_minus_30) xml = get_mobile_auth_payload([record], domain, now=now) check_xml_line_by_line( self, xml, """ <OpenRosaResponse xmlns="http://openrosa.org/http/response"> <message nature="submit_success">Here are your keys!</message> <auth_keys domain="{domain}" issued="{now}"> <key_record valid="{now_minus_30}" expires="{now_plus_30}"> <uuid>{record.uuid}</uuid> <key type="{record.type}">{record.key}</key> </key_record> </auth_keys> </OpenRosaResponse> """.format( now=self.format_datetime_no_usec(now), now_plus_30=self.format_datetime_no_usec(now_plus_30), now_minus_30=self.format_datetime_no_usec(now_minus_30), record=record, domain=domain, ))
def test_mobile_auth(self): for domain_name in [self.domain.name, self.domain2.name]: record = new_key_record(domain=domain_name, user_id='123') record.save() self.domain.delete() self._assert_mobile_auth_counts(self.domain.name, 0) self._assert_mobile_auth_counts(self.domain2.name, 1)
def get_or_create_current_record(self): key_record = self.key_for_time(self.now) if not key_record: key_record = new_key_record( domain=self.domain, user_id=self.user_id, now=self.now, valid=self.now - datetime.timedelta(days=30), ) key_record.save() elif key_record.expires <= self.now: bump_expiry(key_record, now=self.now) key_record.save() return key_record
def get_or_create_current_record(self): key_record = self.key_for_time(self.now) if not key_record: key_record = new_key_record(self.domain, self.user_id, self.now) key_record.save() return key_record