Ejemplo n.º 1
0
 def test_incorrect_optional(self):
     if 'AX_CONTAINER_NAME' not in os.environ:
         os.environ['AX_CONTAINER_NAME'] = 'axapproval-1234-1234-1234-1234'
     with self.assertRaises(AXApprovalException) as cm:
         AXApproval("user1", "", 1, 1)
     self.assertEqual(
         'number_optional cannot be greater than optional_list.',
         str(cm.exception))
     with self.assertRaises(AXApprovalException) as cm:
         AXApproval("", "user1,user2", 3, 1)
     self.assertEqual(
         'number_optional cannot be greater than optional_list.',
         str(cm.exception))
     del os.environ['AX_CONTAINER_NAME']
Ejemplo n.º 2
0
 def test_duplicate_list(self):
     if 'AX_CONTAINER_NAME' not in os.environ:
         os.environ['AX_CONTAINER_NAME'] = 'axapproval-1234-1234-1234-1234'
     with self.assertRaises(AXApprovalException) as cm:
         AXApproval("user1", "user1", 1, 1)
     self.assertEqual(
         "{'user1'} cannot be in both required_list and optional_list.",
         str(cm.exception))
     with self.assertRaises(AXApprovalException) as cm:
         AXApproval("user2, user3", "user1,user2", 2, 1)
     self.assertEqual(
         "{'user2'} cannot be in both required_list and optional_list.",
         str(cm.exception))
     del os.environ['AX_CONTAINER_NAME']
Ejemplo n.º 3
0
    def test_fail1(self, mock_retrieve_redis, mock_notification):
        mock_notification.return_value = True
        mock_retrieve_redis.return_value = None

        if 'AX_CONTAINER_NAME' not in os.environ:
            os.environ['AX_CONTAINER_NAME'] = 'axapproval-1234-1234-1234-1234'

        axapproval = AXApproval("user1", "user2,user3", 1, 1)
        with self.assertRaises(AXApprovalException) as cm:
            axapproval.run()

        self.assertEqual("Timeout for getting approvals. Exit.",
                         str(cm.exception))
        del os.environ['AX_CONTAINER_NAME']
Ejemplo n.º 4
0
    def test_success(self, mock_retrieve_redis, mock_notification):
        mock_notification.return_value = True
        mock_retrieve_redis.return_value = [{
            'user': '******',
            'result': True,
            'timestamp': '201667123'
        }]

        if 'AX_CONTAINER_NAME' not in os.environ:
            os.environ['AX_CONTAINER_NAME'] = 'axapproval-1234-1234-1234-1234'

        axapproval = AXApproval("user1", "", 0, 1)
        with self.assertRaises(SystemExit) as cm:
            axapproval.run()

        self.assertEqual(cm.exception.code, 0)
        del os.environ['AX_CONTAINER_NAME']
Ejemplo n.º 5
0
 def test_negative_number(self):
     if 'AX_CONTAINER_NAME' not in os.environ:
         os.environ['AX_CONTAINER_NAME'] = 'axapproval-1234-1234-1234-1234'
     with self.assertRaises(AXApprovalException) as cm:
         AXApproval("user1", "", -1, -1)
     self.assertEqual('number_optional or timeout cannot be negative.',
                      str(cm.exception))
     del os.environ['AX_CONTAINER_NAME']
Ejemplo n.º 6
0
 def test_task_id_not_set(self):
     if 'AX_CONTAINER_NAME' in os.environ:
         del os.environ['AX_CONTAINER_NAME']
     with self.assertRaises(AXApprovalException) as cm:
         AXApproval(None, None, None, None)
     self.assertEqual(
         'AX_CONTAINER_NAME cannot be found in the container ENV.',
         str(cm.exception))
Ejemplo n.º 7
0
 def test_none_list(self):
     if 'AX_CONTAINER_NAME' not in os.environ:
         os.environ['AX_CONTAINER_NAME'] = 'axapproval-1234-1234-1234-1234'
     with self.assertRaises(AXApprovalException) as cm:
         AXApproval(None, None, None, None)
     self.assertEqual(
         'required_list and optional_list cannot both be None.',
         str(cm.exception))
     del os.environ['AX_CONTAINER_NAME']
Ejemplo n.º 8
0
    def test_fail3(self, mock_retrieve_redis, mock_notification):
        mock_notification.return_value = True
        mock_retrieve_redis.return_value = [{
            'user': '******',
            'result': True,
            'timestamp': '201667123'
        }, {
            'user': '******',
            'result': True,
            'timestamp': '201667123'
        }]

        if 'AX_CONTAINER_NAME' not in os.environ:
            os.environ['AX_CONTAINER_NAME'] = 'axapproval-1234-1234-1234-1234'

        axapproval = AXApproval("user1", "user2,user3", 2, 1)
        with self.assertRaises(AXApprovalException) as cm:
            axapproval.run()

        self.assertEqual("Timeout for getting approvals. Exit.",
                         str(cm.exception))
        del os.environ['AX_CONTAINER_NAME']