示例#1
0
    def test_auth_positive(self):
        auth_result = Users.auth(_DEFAULT_USER, _DEFAULT_PASSWORD,
                                 _DEFAULT_HOST)
        self.assertEqual(auth_result.id, _DEFAULT_USER)
        self.assertEqual(auth_result.password, _DEFAULT_PASSWORD)

        self.assertEqual(Users.first().remoteAddr, None)
        self.assertIsNotNone(
            Users.auth(_DEFAULT_USER, _DEFAULT_PASSWORD, 'any_adrr'))
示例#2
0
文件: __init__.py 项目: jasii/nut
    def do_HEAD(self):
        request = NutRequest(self)
        with NutResponse(self) as response:
            request.setHead(True)
            response.setHead(True)

            if self.headers['Authorization'] == None:
                return Response401(request, response)

            id, password = base64.b64decode(
                self.headers['Authorization'].split(' ')[1]).decode().split(
                    ':')

            request.user = Users.auth(id, password, self.client_address[0])

            if not request.user:
                return Response401(request, response)

            try:
                if len(request.bits) > 0 and request.bits[0] in mappings:
                    i = request.bits[1]
                    methodName = 'get' + i[0].capitalize() + i[1:]
                    method = getattr(mappings[request.bits[0]], methodName,
                                     Response404)
                    method(request, response, **request.query)
                else:
                    self.handleFile(request, response)
            except BaseException as e:
                self.wfile.write(Response500(request, response))
示例#3
0
	def test_auth_positive(self):
		auth_result = Users.auth(_DEFAULT_USER, _DEFAULT_PASSWORD, _DEFAULT_HOST)
		self.assertEqual(auth_result.id, _DEFAULT_USER)
		self.assertEqual(auth_result.password, _DEFAULT_PASSWORD)

		self.assertEqual(Users.first().remoteAddr, None)
		self.assertIsNotNone(Users.auth(_DEFAULT_USER, _DEFAULT_PASSWORD, 'any_adrr'))

		user = Users.first()
		user.setRequireAuth(False)
		user.remoteAddr = _DEFAULT_HOST
		Users.users[user.id] = user
		self.assertTrue(Users.auth(user.id, user.password, user.remoteAddr))

		user.setRequireAuth(True)
		self.assertTrue(Users.auth(_DEFAULT_USER, _DEFAULT_PASSWORD, user.remoteAddr))
		self.assertFalse(Users.auth(_DEFAULT_USER, _DEFAULT_PASSWORD, 'any_addr'))
示例#4
0
	def do(self, verb='get'):
		request = NutRequest(self)
		with NutResponse(self) as response:
			if self.headers['Authorization'] is None:
				return Response401(request, response)

			id, password = base64.b64decode(self.headers['Authorization'].split(' ')[1]).decode().split(':')

			request.user = Users.auth(id, password, self.client_address[0])

			if not request.user:
				return Response401(request, response)

			try:
				if not route(request, response, verb):
					self.handleFile(request, response)
			except BaseException as e:
				self.wfile.write(Response500(request, response))
示例#5
0
	def test_auth_negative(self):
		self.assertEqual(Users.auth(_DEFAULT_USER, 'wrong_pwd', _DEFAULT_HOST), None)
		self.assertEqual(Users.auth('wrong_user', _DEFAULT_PASSWORD, _DEFAULT_HOST), None)