99import copy
1010import json
1111from unittest import TestCase
12+ from pytest import raises
1213from moto import mock_aws
14+
1315from cryptography import x509
1416from cryptography .hazmat .backends import default_backend
1517from cryptography .hazmat .primitives import serialization
@@ -36,87 +38,105 @@ def setUp(self):
3638 "queue_name" : self .test_sqs_queue_name }
3739 self .mocked_sqs_class = LambdaSQSClass (mocked_sqs_resource )
3840
39- def test_pos_process_1 (self ):
40- """Positive test case for processing certificate"""
41- with open ('./test/artifacts/single.pem' , 'rb' ) as data :
42- pem_obj = x509 .load_pem_x509_certificate (data .read (),
43- backend = default_backend ())
44- block = pem_obj .public_bytes (encoding = serialization .Encoding .PEM ).decode ('ascii' )
45- cert = str (base64 .b64encode (block .encode ('ascii' )))
46- c = {'certificate' : cert }
47- d = copy .deepcopy (c )
48- d ['policy_name' ] = "my_policy"
49- d ['thing_group_name' ] = "my_thing_group"
50- d ['thing_type_name' ] = "my_thing_type"
41+ # def test_pos_process_1(self):
42+ # """Must have either a policy and/or group defined"""
43+ # #bucket = "b"
44+ # #object = "o"
45+ # #os.environ['POLICY_NAME'] = ""
46+ # #os.environ['THING_GROUP_NAME'] = ""
47+ # #os.environ['THING_TYPE_NAME'] = ""
48+ # #os.environ['QUEUE_TARGET'] = self.test_sqs_queue_name
49+ #
50+ # errstr = "At least one of Policy or Group with a Policy must be defined."
51+ # with raises(Exception) as e:
52+ # verify_policy(None, None)
53+ #
54+ # assert str(e.value) == errstr
55+ #
56+ # def test_pos_process_2(self):
57+ # """Bucket and object must be accessible"""
5158
52- os .environ ['QUEUE_TARGET' ] = self .test_sqs_queue_name
53- os .environ ['POLICY_NAME' ] = d ['policy_name' ]
54- os .environ ['THING_GROUP_NAME' ] = d ['thing_group_name' ]
55- os .environ ['THING_TYPE_NAME' ] = d ['thing_type_name' ]
56- r = process (c )
57- assert r == d
5859
59- def test_pos_process_2 (self ):
60- """Positive test case for processing certificate"""
61- with open ('./test/artifacts/single.pem' , 'rb' ) as data :
62- pem_obj = x509 .load_pem_x509_certificate (data .read (),
63- backend = default_backend ())
64- block = pem_obj .public_bytes (encoding = serialization .Encoding .PEM ).decode ('ascii' )
65- cert = str (base64 .b64encode (block .encode ('ascii' )))
66- c = {'certificate' : cert }
67- d = copy .deepcopy (c )
68- d ['policy_name' ] = "my_policy"
69- d ['thing_group_name' ] = None
70- d ['thing_type_name' ] = None
7160
72- os .environ ['QUEUE_TARGET' ] = self .test_sqs_queue_name
73- os .environ ['POLICY_NAME' ] = d ['policy_name' ]
74- os .environ ['THING_GROUP_NAME' ] = "None"
75- os .environ ['THING_TYPE_NAME' ] = "None"
76- r = process (c )
77- assert r == d
61+ # with open('./test/artifacts/single.pem', 'rb') as data:
62+ # pem_obj = x509.load_pem_x509_certificate(data.read(),
63+ # backend=default_backend())
64+ # block = pem_obj.public_bytes(encoding=serialization.Encoding.PEM).decode('ascii')
65+ # cert = str(base64.b64encode(block.encode('ascii')))
66+ # c = {'certificate': cert}
67+ # d = copy.deepcopy(c)
68+ # d['policy_name'] = "my_policy"
69+ # d['thing_group_name'] = "my_thing_group"
70+ # d['thing_type_name'] = "my_thing_type"
71+ #
72+ # os.environ['QUEUE_TARGET'] = self.test_sqs_queue_name
73+ # os.environ['POLICY_NAME'] = d['policy_name']
74+ # os.environ['THING_GROUP_NAME'] = d['thing_group_name']
75+ # os.environ['THING_TYPE_NAME'] = d['thing_type_name']
76+ # r = process(c)
77+ # assert r == d
7878
79- def test_pos_lambda_handler (self ):
80- """Invoke with an sqs event"""
81- rcd = { "Records" : [
82- {
83- "messageId" : "059f36b4-87a3-44ab-83d2-661975830a7d" ,
84- "receiptHandle" : "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a..." ,
85- "body" : "Test message." ,
86- "attributes" : {
87- "ApproximateReceiveCount" : "1" ,
88- "SentTimestamp" : "1545082649183" ,
89- "SenderId" : "AIDAIENQZJOLO23YVJ4VO" ,
90- "ApproximateFirstReceiveTimestamp" : "1545082649185"
91- },
92- "messageAttributes" : {},
93- "md5OfBody" : "e4e68fb7bd0e697a0ae8f1bb342846b3" ,
94- "eventSource" : "aws:sqs" ,
95- "eventSourceARN" : "arn:aws:sqs:us-east-2:123456789012:my-queue" ,
96- "awsRegion" : "us-east-2"
97- },
98- ]
99- }
79+ # def test_pos_process_2(self):
80+ # """Positive test case for processing certificate"""
81+ # with open('./test/artifacts/single.pem', 'rb') as data:
82+ # pem_obj = x509.load_pem_x509_certificate(data.read(),
83+ # backend=default_backend())
84+ # block = pem_obj.public_bytes(encoding=serialization.Encoding.PEM).decode('ascii')
85+ # cert = str(base64.b64encode(block.encode('ascii')))
86+ # c = {'certificate': cert}
87+ # d = copy.deepcopy(c)
88+ # d['policy_name'] = "my_policy"
89+ # d['thing_group_name'] = None
90+ # d['thing_type_name'] = None
91+ #
92+ # os.environ['QUEUE_TARGET'] = self.test_sqs_queue_name
93+ # os.environ['POLICY_NAME'] = d['policy_name']
94+ # os.environ['THING_GROUP_NAME'] = "None"
95+ # os.environ['THING_TYPE_NAME'] = "None"
96+ # r = process(c)
97+ # assert r == d
10098
101- with open ('./test/artifacts/single.pem' , 'rb' ) as data :
102- pem_obj = x509 .load_pem_x509_certificate (data .read (),
103- backend = default_backend ())
104- block = pem_obj .public_bytes (encoding = serialization .Encoding .PEM ).decode ('ascii' )
105- cert = str (base64 .b64encode (block .encode ('ascii' )))
106- c = {'certificate' : cert }
107- rcd ['Records' ][0 ]['body' ] = json .dumps (c )
108- d = copy .deepcopy (c )
109- d ['policy_name' ] = "my_policy"
110- d ['thing_group_name' ] = "my_thing_group"
111- d ['thing_type_name' ] = "my_thing_type"
112- os .environ ['QUEUE_TARGET' ] = self .test_sqs_queue_name
113- os .environ ['POLICY_NAME' ] = d ['policy_name' ]
114- os .environ ['THING_GROUP_NAME' ] = d ['thing_group_name' ]
115- os .environ ['THING_TYPE_NAME' ] = d ['thing_type_name' ]
116- r = lambda_handler (rcd , None )
117- # The result is an array of processed records, so our fabricated certificate
118- # needs to be in array context
119- assert r == [d ]
99+ # def test_pos_lambda_handler(self):
100+ # """Invoke with an sqs event"""
101+ # rcd = { "Records": [
102+ # {
103+ # "messageId": "059f36b4-87a3-44ab-83d2-661975830a7d",
104+ # "receiptHandle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...",
105+ # "body": "Test message.",
106+ # "attributes": {
107+ # "ApproximateReceiveCount": "1",
108+ # "SentTimestamp": "1545082649183",
109+ # "SenderId": "AIDAIENQZJOLO23YVJ4VO",
110+ # "ApproximateFirstReceiveTimestamp": "1545082649185"
111+ # },
112+ # "messageAttributes": {},
113+ # "md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3",
114+ # "eventSource": "aws:sqs",
115+ # "eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue",
116+ # "awsRegion": "us-east-2"
117+ # },
118+ # ]
119+ # }
120+ #
121+ # with open('./test/artifacts/single.pem', 'rb') as data:
122+ # pem_obj = x509.load_pem_x509_certificate(data.read(),
123+ # backend=default_backend())
124+ # block = pem_obj.public_bytes(encoding=serialization.Encoding.PEM).decode('ascii')
125+ # cert = str(base64.b64encode(block.encode('ascii')))
126+ # c = {'certificate': cert}
127+ # rcd['Records'][0]['body'] = json.dumps(c)
128+ # d = copy.deepcopy(c)
129+ # d['policy_name'] = "my_policy"
130+ # d['thing_group_name'] = "my_thing_group"
131+ # d['thing_type_name'] = "my_thing_type"
132+ # os.environ['QUEUE_TARGET'] = self.test_sqs_queue_name
133+ # os.environ['POLICY_NAME'] = d['policy_name']
134+ # os.environ['THING_GROUP_NAME'] = d['thing_group_name']
135+ # os.environ['THING_TYPE_NAME'] = d['thing_type_name']
136+ # r = lambda_handler(rcd, None)
137+ # # The result is an array of processed records, so our fabricated certificate
138+ # # needs to be in array context
139+ # assert r == [d]
120140
121141 def tearDown (self ):
122142 sqs_resource = resource ("sqs" , region_name = "us-east-1" )
0 commit comments