Пример #1
0
    def mutate(_root, info: ResolveInfo, username: str, password: str):
        request = get_request(info)
        gmp = get_gmp(info)
        try:
            response = gmp.authenticate(username, password)
            request.session['username'] = username
            request.session['password'] = password

            timezone = get_text_from_element(response, 'timezone')

            # get the timeout from now
            timeout = request.session.get_expiry_date()
            # actually store the timeout in the session
            request.session.set_expiry(timeout)

            setting_response = gmp.get_setting(USER_SETTING_LOCALE)
            setting_element = get_subelement(setting_response, 'setting')
            setting = get_text_from_element(setting_element, 'value')

            return LoginMutation(
                ok=True,
                timezone=timezone,
                session_timeout=timeout,
                locale=setting,
            )
        except GvmResponseError as e:
            raise AuthenticationFailed(e.message) from None
Пример #2
0
    def test_valid_subelement(self):
        element = et.fromstring("<foo><bar></bar></foo>")
        subelement = get_subelement(element, 'bar')

        self.assertIsNotNone(subelement)
        self.assertEqual(subelement.tag, 'bar')
Пример #3
0
 def test_unknown_subelement(self):
     element = et.fromstring("<foo></foo>")
     self.assertIsNone(get_subelement(element, 'bar'))
Пример #4
0
 def test_none(self):
     self.assertIsNone(get_subelement(None, 'foo'))
Пример #5
0
 def resolve_name(root, _info):
     nvt = get_subelement(root, 'nvt')
     return get_text_from_element(nvt, 'name')
Пример #6
0
 def resolve_compliance_count(root, _info):
     report = get_subelement(root, 'report')
     return get_subelement(report, 'compliance_count')
Пример #7
0
 def resolve_results(root, _info):
     return get_subelement(root, 'result_count')
Пример #8
0
 def resolve_counts(root, _info):
     return get_subelement(root, 'report_count')
Пример #9
0
 def resolve_privacy_algorithm(root, _info):
     privacy = get_subelement(root, 'privacy')
     return get_text_from_element(privacy, 'algorithm')