コード例 #1
0
    def test_get_reminder_none(self, mock_session_factory,
                               mock_decode_reminder_id):
        mock_session = mock_session_factory.return_value
        mock_session.query.return_value.get.return_value = None

        with self.assertRaises(expected_exception=Exception):
            get_reminder(DEFAULT_DAILY_CI_SLOTS)
コード例 #2
0
    def test_get_reminder_invalid_id(self, mock_session_factory,
                                     mock_decode_reminder_id):
        mock_session = mock_session_factory.return_value
        mock_session.query.return_value.get.return_value = DEFAULT_REMINDER

        with self.assertRaises(expected_exception=Exception):
            get_reminder(DEFAULT_DAILY_CI_SLOTS)

        mock_session.query.assert_not_called()
コード例 #3
0
    def test_get_reminder_missing_metadata(self, mock_session_factory,
                                           mock_decode_reminder_id):
        mock_session = mock_session_factory.return_value
        mock_session.query.return_value.get.return_value = DEFAULT_REMINDER

        daily_ci_slots_without_metadata = dissoc(DEFAULT_DAILY_CI_SLOTS,
                                                 METADATA_SLOT)

        with self.assertRaises(expected_exception=Exception):
            # None metadata
            get_reminder(daily_ci_slots_without_metadata)

        with self.assertRaises(expected_exception=Exception):
            # Empty metadata
            get_reminder({
                **daily_ci_slots_without_metadata, METADATA_SLOT: {}
            })

        mock_session.query.assert_not_called()
コード例 #4
0
def _get_user_info(current_slot_values: Dict[Text, Any],
                   domain: Dict[Text, Any]) -> Optional[dict]:
    try:
        reminder = get_reminder(current_slot_values)
    except:
        logger.warning(f"Could not fetch user profile. Encoded ID is invalid.")
        return None

    province = reminder.province
    return {
        FIRST_NAME_SLOT: _fill(reminder.first_name, DEFAULT_FIRST_NAME_VALUE),
        PROVINCE_SLOT: province,
        AGE_OVER_65_SLOT: _fill_false(reminder.age_over_65),
        PRECONDITIONS_SLOT: _fill_false(reminder.preconditions),
        HAS_DIALOGUE_SLOT: _fill_false(reminder.has_dialogue),
        PROVINCIAL_811_SLOT: get_provincial_811(province, domain),
    }
コード例 #5
0
    def test_get_reminder(self, mock_session_factory, mock_decode_reminder_id):
        mock_session = mock_session_factory.return_value
        mock_session.query.return_value.get.return_value = DEFAULT_REMINDER

        self.assertEqual(get_reminder(DEFAULT_DAILY_CI_SLOTS),
                         DEFAULT_REMINDER)