def test_templates(self):
        template = template_model.Template.create('loaner_due',
                                                  title=TEST_TITLE,
                                                  body=TEST_BODY)
        self.assertEqual(template.name, 'loaner_due')

        template_model.Template.create('reminder_base', body=TEST_BASE)
        template_loader = template_model.TemplateLoader()

        due_date = datetime.datetime(2017, 10, 13, 9, 31, 0, 0)
        config_dict = {
            'user_email': loanertest.USER_EMAIL,
            'serial': '12345ABC',
            'day_of_week': due_date.strftime('%A'),
            'date': due_date.strftime('%A, %B %d'),
            'turtle_name': 'Grumpy'
        }
        rendered_title, rendered_body = template_loader.render(
            'loaner_due', config_dict)
        self.assertEqual(rendered_title, 'Your loaner is due on Friday')
        self.assertEqual(
            rendered_body,
            (
                '<html><body>'  # Includes the reminder_base template.
                'Hello, {}. Your loaner with serial number '
                '12345ABC is due on Friday, October 13. Return it by then if you ever '
                'want to see your pet turtle, Grumpy, again.'
                '</body></html>'.format(loanertest.USER_EMAIL)))

        # Without memcache
        memcache.flush_all()
        rendered_title, rendered_body = template_loader.render(
            'loaner_due', config_dict)
        self.assertEqual(rendered_title, 'Your loaner is due on Friday')
        self.assertEqual(rendered_body, (
            '<html><body>'
            'Hello, {}. Your loaner with serial number '
            '12345ABC is due on Friday, October 13. Return it by then if you ever '
            'want to see your pet turtle, Grumpy, again.'
            '</body></html>'.format(loanertest.USER_EMAIL)))
示例#2
0
CHROME_FIELDS_MASK = 'deviceId,serialNumber,model,orgUnitPath'
CHROME_LIST_FIELDS_MASK = (
    'chromeosdevices(deviceId,serialNumber,model,orgUnitPath)')
GROUP_MEMBER_FIELDS_MASK = 'members/email,nextPageToken'
USER_NAME_FIELDS_MASK = 'name/givenName'
ORG_UNIT_FIELDS_MASK = 'name'

XSRF_TOKEN_TIMEOUT = 8 * 60 * 60 * 10**6  # 8 hours in microseconds.
XSRF_ACTION_ID = ''
XSRF_HEADER = 'X-XSRF-TOKEN'
XSRF_COOKIE_NAME = 'XSRF-TOKEN'
XSRF_PARAM = 'xsrf_token'
XSRF_EXEMPT_METHODS = frozenset(['GET', 'HEAD'])

BIGQUERY_DATASET_NAME = 'loaner'
BIGQUERY_DEVICE_TABLE = 'Device'
BIGQUERY_SHELF_TABLE = 'Shelf'
BIGQUERY_SURVEY_TABLE = 'Question'
BIGQUERY_ROW_TIME_THRESHOLD = 15  # Minutes.
BIGQUERY_ROW_SIZE_THRESHOLD = 50  # Rows.
BIGQUERY_ROW_MAX_BATCH_SIZE = 500  # Rows.

DEFAULT_ACTING_USER = '******'

TEMPLATE_LOADER = template_model.TemplateLoader()

# Search constants.
DEVICE_INDEX_NAME = 'device_index'
SHELF_INDEX_NAME = 'shelf_index'