You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

datary

Package Overview
Dependencies
Maintainers
1
Versions
62
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

datary - pypi Package Compare versions

Comparing version
0.1.27
to
0.1.28
+1
-1
datary.egg-info/PKG-INFO
Metadata-Version: 1.1
Name: datary
Version: 0.1.27
Version: 0.1.28
Summary: Datary Python sdk lib

@@ -5,0 +5,0 @@ Home-page: https://github.com/Datary/python-sdk

@@ -94,4 +94,21 @@ # -*- coding: utf-8 -*-

def get_user_token(self, user=None, password=None):
def sign_in(self, member_uuid='me'):
"""
Sign-in and assert has a token in requests headers.
"""
if self.token:
self.attach_token_header()
elif self.username and self.password:
self.token = self.get_user_token(member_uuid='me')
self.attach_token_header()
else:
logger.error(
'Can`t sign-in, useraname or password incorrect',
username=self.username,
password=self.password)
def get_user_token(self, user=None, password=None, member_uuid='me'):
"""
=========== ============= ================================

@@ -107,3 +124,18 @@ Parameter Type Description

"""
return self.get_member_session(user, password, member_uuid)
def get_member_session(self, user=None, password=None, member_uuid='me'):
"""
=========== ============= ================================
Parameter Type Description
=========== ============= ================================
user str Datary username
password str Datary password
member_uuid str Datary Member uuid (default: "me")
=========== ============= ================================
Returns:
(str) User's token given a username, password and member_uuid.
"""
payload = {

@@ -114,4 +146,4 @@ "username": user or self.username,

url = urljoin(self.URL_BASE, "/connection/signIn")
self.headers = {"Content-Type": "application/x-www-form-urlencoded"}
url = urljoin(
self.URL_BASE, "/members/{}/sessions".format(member_uuid))

@@ -121,3 +153,2 @@ response = self.request(

# Devuelve el token del usuario.
user_token = str(response.headers.get("x-set-token", ''))

@@ -127,21 +158,64 @@

def sign_in(self):
def sign_out(self, member_uuid='me'):
"""
Sign-in and assert has a token in requests headers.
Sign-out and invalidate the actual token.
"""
self.delete_member_session(member_uuid=member_uuid)
if self.token:
self.attach_token_header()
def delete_member_session(self, member_uuid='me'):
"""
Sign-out and invalidate the actual token.
elif self.username and self.password:
self.token = self.get_user_token()
self.attach_token_header()
"""
url = urljoin(
self.URL_BASE, "/members/{}/sessions".format(member_uuid))
# Make sign_out request.
response = self.request(url, 'DELETE', **{'headers': self.headers})
if response:
self.token = None
logger.info('Sign Out Succesfull!')
else:
logger.error(
'Can`t sign-in, useraname or password incorrect',
username=self.username,
password=self.password)
"Fail to make Sign Out succesfully :(",
response=response)
def sign_out(self):
# #############################################################################
# DEPRECATED
# #############################################################################
def get_connection_sign_in(self, user=None, password=None):
"""
...DEPRECATED...
=========== ============= ================================
Parameter Type Description
=========== ============= ================================
user str Datary username
password str Datary password
=========== ============= ================================
Returns:
(str) User's token given a username and password.
"""
payload = {
"username": user or self.username,
"password": password or self.password,
}
url = urljoin(self.URL_BASE, "/connection/signIn")
self.headers = {"Content-Type": "application/x-www-form-urlencoded"}
response = self.request(
url, 'POST', **{'headers': self.headers, 'data': payload})
# Devuelve el token del usuario.
user_token = str(response.headers.get("x-set-token", ''))
return user_token
def get_connection_sign_out(self):
"""

@@ -148,0 +222,0 @@ Sign-out and invalidate the actual token.

@@ -16,38 +16,14 @@ # -*- coding: utf-8 -*-

"""
@mock.patch('datary.requests.requests.requests.post')
def test_get_user_token(self, mock_request):
"""
Test datary auth get_user_token
"""
# Assert init class data & token introduced by args
self.assertEqual(self.datary.username, self.test_username)
self.assertEqual(self.datary.password, self.test_password)
self.assertEqual(self.datary.token, self.test_token)
self.assertEqual(mock_request.call_count, 0)
def setUp(self):
self.test_token = '123'
self.test_username = 'pepe'
self.test_password = 'pass'
self.test_commit_limit = 30
# Assert get token in __init__
mock_request.return_value = MockRequestResponse(
"", headers={'x-set-token': self.test_token})
self.datary = Datary(**{'username': 'pepe', 'password': 'pass'})
self.assertEqual(mock_request.call_count, 1)
self.test_token2 = '456'
self.test_username2 = 'manolo'
self.test_password2 = 'ssap'
self.test_commit_limit2 = 12
# Assert get token by the method without args.
mock_request.return_value = MockRequestResponse(
"", headers={'x-set-token': self.test_token})
token1 = self.datary.get_user_token()
self.assertEqual(token1, self.test_token)
# Assert get token by method with args.
mock_request.return_value = MockRequestResponse(
"", headers={'x-set-token': '456'})
token2 = self.datary.get_user_token('maria', 'pass2')
self.assertEqual(token2, '456')
mock_request.return_value = MockRequestResponse("", headers={})
token3 = self.datary.get_user_token('maria', 'pass2')
self.assertEqual(token3, '')
self.assertEqual(mock_request.call_count, 4)
@mock.patch('datary.requests.requests.requests.post')

@@ -59,35 +35,25 @@ def test_properties(self, mock_request):

test_token = '123'
test_username = 'pepe'
test_password = 'pass'
test_commit_limit = 30
test_token2 = '456'
test_username2 = 'manolo'
test_password2 = 'ssap'
test_commit_limit2 = 30
mock_request.return_value = MockRequestResponse(
"", headers={'x-set-token': test_token})
"", headers={'x-set-token': self.test_token})
self.datary = Datary(**{
'username': test_username,
'password': test_password})
'username': self.test_username,
'password': self.test_password})
self.assertEqual(mock_request.call_count, 1)
self.assertEqual(self.datary.username, test_username)
self.assertEqual(self.datary.password, test_password)
self.assertEqual(self.datary.token, test_token)
self.assertEqual(self.datary.commit_limit, test_commit_limit)
self.assertEqual(self.datary.username, self.test_username)
self.assertEqual(self.datary.password, self.test_password)
self.assertEqual(self.datary.token, self.test_token)
self.assertEqual(self.datary.commit_limit, self.test_commit_limit)
self.assertIn(
self.datary.token, self.datary.headers.get('Authorization'))
self.datary.username = test_username2
self.datary.password = test_password2
self.datary.token = test_token2
self.datary.commit_limit = test_commit_limit2
self.datary.username = self.test_username2
self.datary.password = self.test_password2
self.datary.token = self.test_token2
self.datary.commit_limit = self.test_commit_limit2
self.assertEqual(self.datary.username, test_username2)
self.assertEqual(self.datary.password, test_password2)
self.assertEqual(self.datary.token, test_token2)
self.assertEqual(self.datary.commit_limit, test_commit_limit2)
self.assertEqual(self.datary.username, self.test_username2)
self.assertEqual(self.datary.password, self.test_password2)
self.assertEqual(self.datary.token, self.test_token2)
self.assertEqual(self.datary.commit_limit, self.test_commit_limit2)
self.assertIn(

@@ -109,4 +75,77 @@ self.datary.token, self.datary.headers.get('Authorization'))

@mock.patch('datary.auth.DataryAuth.delete_member_session')
def test_sign_out(self, mock_delete_member_session):
self.datary.sign_out()
self.assertEqual(mock_delete_member_session.call_count, 1)
@mock.patch('datary.requests.requests.requests.delete')
def test_delete_member_session(self, mock_request):
# Fail sign out
mock_request.return_value = MockRequestResponse(
"Err", status_code=500)
self.datary.delete_member_session()
self.assertEqual(self.datary.token, self.test_token)
self.assertEqual(mock_request.call_count, 1)
# reset mock
mock_request.reset_mock()
# Succes sign out
mock_request.return_value = MockRequestResponse(
"OK", status_code=200)
self.assertEqual(self.datary.token, self.test_token)
self.datary.delete_member_session()
self.assertEqual(self.datary.token, None)
self.assertEqual(mock_request.call_count, 1)
# ##########################################################################
# DEPRECATED
# ##########################################################################
@mock.patch('datary.requests.requests.requests.post')
def test_get_connection_sign_in(self, mock_request):
"""
Test datary auth get_user_token
"""
# init datary
self.datary = Datary(**{
'username': self.test_username,
'password': self.test_password,
'token': self.test_token})
# Assert init class data & token introduced by args
self.assertEqual(self.datary.username, self.test_username)
self.assertEqual(self.datary.password, self.test_password)
self.assertEqual(self.datary.token, self.test_token)
self.assertEqual(mock_request.call_count, 0)
# Assert get token in __init__
mock_request.return_value = MockRequestResponse(
"", headers={'x-set-token': self.test_token})
self.datary = Datary(**{'username': 'pepe', 'password': 'pass'})
self.assertEqual(mock_request.call_count, 1)
# Assert get token by the method without args.
mock_request.return_value = MockRequestResponse(
"", headers={'x-set-token': self.test_token})
token1 = self.datary.get_connection_sign_in()
self.assertEqual(token1, self.test_token)
# Assert get token by method with args.
mock_request.return_value = MockRequestResponse(
"", headers={'x-set-token': '456'})
token2 = self.datary.get_connection_sign_in('maria', 'pass2')
self.assertEqual(token2, '456')
mock_request.return_value = MockRequestResponse("", headers={})
token3 = self.datary.get_connection_sign_in('maria', 'pass2')
self.assertEqual(token3, '')
self.assertEqual(mock_request.call_count, 4)
@mock.patch('datary.requests.requests.requests.get')
def test_sign_out(self, mock_request):
def test_get_connection_sign_out(self, mock_request):
"""

@@ -116,6 +155,12 @@ Test datary auth sign_out

# init datary
self.datary = Datary(**{
'username': self.test_username,
'password': self.test_password,
'token': self.test_token})
# Fail sign out
mock_request.return_value = MockRequestResponse(
"Err", status_code=500)
self.datary.sign_out()
self.datary.get_connection_sign_out()
self.assertEqual(self.datary.token, self.test_token)

@@ -132,4 +177,4 @@ self.assertEqual(mock_request.call_count, 1)

self.assertEqual(self.datary.token, self.test_token)
self.datary.sign_out()
self.datary.get_connection_sign_out()
self.assertEqual(self.datary.token, None)
self.assertEqual(mock_request.call_count, 1)

@@ -77,4 +77,6 @@ # -*- coding: utf-8 -*-

else:
msg = "Fail Request to datary done with code {}"
logger.error(
"Fail Request to datary done with code {}".format(content.status_code),
msg.format(content.status_code),
url=url, http_method=http_method,

@@ -81,0 +83,0 @@ code=content.status_code,

@@ -33,2 +33,4 @@ # -*- coding: utf-8 -*-

"ok", headers={'x-set-token': self.test_token})
mock_requests.put.return_value = MockRequestResponse(
"ok", headers={'x-set-token': self.test_token})
mock_requests.delete.return_value = MockRequestResponse(

@@ -45,6 +47,10 @@ "ok", headers={'x-set-token': self.test_token})

# test deleted
result3 = self.datary.request(self.url, 'DELETE')
# test PUT
result3 = self.datary.request(self.url, 'PUT')
self.assertEqual(result3.text, 'ok')
# test DELETED
result4 = self.datary.request(self.url, 'DELETE')
self.assertEqual(result4.text, 'ok')
# test UNKNOWK http method

@@ -57,11 +63,11 @@ with self.assertRaises(Exception):

"err", status_code=500)
result4 = self.datary.request(self.url, 'GET')
self.assertEqual(result4, None)
mock_requests.get.side_effect = requests.RequestException('err')
result5 = self.datary.request(self.url, 'GET')
self.assertEqual(result5, None)
mock_requests.get.side_effect = requests.RequestException('err')
result6 = self.datary.request(self.url, 'GET')
self.assertEqual(result6, None)
self.assertEqual(mock_requests.get.call_count, 3)
self.assertEqual(mock_requests.post.call_count, 1)
self.assertEqual(mock_requests.delete.call_count, 1)

@@ -5,2 +5,2 @@ #!/usr/bin/env python

"""
__version__ = "0.1.27"
__version__ = "0.1.28"
Metadata-Version: 1.1
Name: datary
Version: 0.1.27
Version: 0.1.28
Summary: Datary Python sdk lib

@@ -5,0 +5,0 @@ Home-page: https://github.com/Datary/python-sdk