def test_build_device_message_from_model(self): """Test the construction of a device message from a device entity.""" test_device = device_model.Device( serial_number='test_serial_value', asset_tag='test_asset_tag_value', enrolled=True, device_model='test model value', due_date=datetime.datetime(year=2018, month=1, day=1), last_known_healthy=datetime.datetime(year=2018, month=1, day=2), shelf=self.test_shelf_model.key, assigned_user='******', assignment_date=datetime.datetime(year=2018, month=1, day=3), current_ou=constants.ORG_UNIT_DICT['GUEST'], ou_changed_date=datetime.datetime(year=2018, month=1, day=4), locked=True, lost=False, mark_pending_return_date=datetime.datetime(year=2018, month=1, day=5), chrome_device_id='device id value', last_heartbeat=datetime.datetime(year=2018, month=1, day=6), damaged=None, damaged_reason='Not damaged', last_reminder=device_model.Reminder(level=1), next_reminder=device_model.Reminder(level=2), ).put().get() expected_message = device_messages.Device( serial_number='test_serial_value', asset_tag='test_asset_tag_value', identifier='test_asset_tag_value', enrolled=True, device_model='test model value', due_date=datetime.datetime(year=2018, month=1, day=1), last_known_healthy=datetime.datetime(year=2018, month=1, day=2), shelf=self.expected_shelf_message, assigned_user='******', assignment_date=datetime.datetime(year=2018, month=1, day=3), current_ou=constants.ORG_UNIT_DICT['GUEST'], ou_changed_date=datetime.datetime(year=2018, month=1, day=4), locked=True, lost=False, mark_pending_return_date=datetime.datetime(year=2018, month=1, day=5), chrome_device_id='device id value', last_heartbeat=datetime.datetime(year=2018, month=1, day=6), damaged=None, damaged_reason='Not damaged', last_reminder=device_messages.Reminder(level=1), next_reminder=device_messages.Reminder(level=2), guest_permitted=True, guest_enabled=True, max_extend_date=device_model.calculate_return_dates( test_device.assignment_date).max, overdue=True, ) actual_message = api_utils.build_device_message_from_model( test_device, True) self.assertEqual(actual_message, expected_message)
def testReminder(self): now = datetime.datetime.now() reminder = device_messages.Reminder(level=2, time=now, count=4) self.assertEqual(reminder.level, 2) self.assertEqual(reminder.time, now) self.assertEqual(reminder.count, 4)
def test_build_reminder_message_from_model( self, test_level, test_datetime, test_count): """Test the construction of a reminder message from a reminder entity.""" test_reminder = device_model.Reminder( level=test_level, time=test_datetime, count=test_count).put().get() expected_message = device_messages.Reminder( level=test_level, time=test_datetime, count=test_count) returned_message = api_utils.build_reminder_message_from_model( test_reminder) self.assertEqual(returned_message, expected_message)
def build_reminder_message_from_model(reminder): """Builds a next- or last-reminder ProtoRPC message. Args: reminder: device_model.Reminder, the reminder from a device. Returns: A device_messages.Reminder message with the respective properties. """ return device_messages.Reminder(level=reminder.level, time=reminder.time, count=reminder.count)