예제 #1
0
    def test_add_action(self):
        """Check if it's possible to add actions to an analyzer"""
        mock_action2 = mock.Mock
        analyzer = BasicAnalyzer(self.mock_action)
        self.assertEqual([self.mock_action], analyzer.actions)

        analyzer.add_action(mock_action2)
        self.assertTrue(isinstance(analyzer.actions, list))
        self.assertEqual([self.mock_action, mock_action2], analyzer.actions)
예제 #2
0
    def test_add_action(self):
        """Check if it's possible to add actions to an analyzer"""
        mock_action2 = mock.MagicMock(spec=BasicAction)
        analyzer = BasicAnalyzer(self.mock_action)
        self.assertEqual([self.mock_action], analyzer.actions)

        analyzer.add_action(mock_action2)
        self.assertIsInstance(analyzer.actions, list)
        self.assertEqual([self.mock_action, mock_action2], analyzer.actions)
예제 #3
0
    def test_add_action_negative(self):
        """Check if an exception raises when passing crap as action"""
        analyzer = BasicAnalyzer(self.mock_action)
        self.assertEqual([self.mock_action], analyzer.actions)

        with self.assertRaises(InvalidActionError, msg="BasicAnalyzer accepts objects other than BasicAnalyzers as actions in add_action!"):
            # The mock_action2 is not a subclass of BasicAction and hence it must throw an error
            mock_action2 = mock.Mock()
            analyzer.add_action(mock_action2)

        with self.assertRaises(InvalidActionError, msg="BasicAnalyzer accepts classes as actions in add_action!"):
            # The mock_action3 is not even an object (only a class reference)
            mock_action3 = mock.Mock
            analyzer.add_action(mock_action3)