Exemple #1
0
    def test_recipe_input_conn_successful(self):
        """Tests calling RecipeDefinition.add_recipe_input_connection() successfully"""

        input_interface = Interface()
        input_interface.parameters = {'recipe_input_1': MagicMock()}
        definition = RecipeDefinition(input_interface)
        definition.add_job_node('node_1', 'job_type_1', '1.0', 1)

        definition.add_recipe_input_connection('node_1', 'input_1',
                                               'recipe_input_1')
Exemple #2
0
    def test_recipe_input_conn_missing_input_node(self):
        """Tests calling RecipeDefinition.add_recipe_input_connection() with an unknown input node"""

        input_interface = Interface()
        input_interface.parameters = {'recipe_input_1': MagicMock()}
        definition = RecipeDefinition(input_interface)
        definition.add_job_node('node_1', 'job_type_1', '1.0', 1)

        with self.assertRaises(InvalidDefinition) as context:
            definition.add_recipe_input_connection('missing_node', 'input_1',
                                                   'recipe_input_1')
        self.assertEqual(context.exception.error.name, 'UNKNOWN_NODE')
Exemple #3
0
    def test_recipe_input_conn_duplicate_input(self):
        """Tests calling RecipeDefinition.add_recipe_input_connection() to connect to a duplicate input"""

        input_interface = Interface()
        input_interface.parameters = {'recipe_input_1': MagicMock()}
        definition = RecipeDefinition(input_interface)
        definition.add_job_node('node_1', 'job_type_1', '1.0', 1)
        definition.add_job_node('node_2', 'job_type_2', '1.0', 1)

        definition.add_recipe_input_connection('node_1', 'input_1',
                                               'recipe_input_1')
        with self.assertRaises(InvalidDefinition) as context:
            definition.add_recipe_input_connection('node_1', 'input_1',
                                                   'recipe_input_1')
        self.assertEqual(context.exception.error.name, 'NODE_INTERFACE')
Exemple #4
0
    def test_validate_missing_dependency(self):
        """Tests calling RecipeDefinition.validate() with a connection that has a missing dependency"""

        input_interface = Interface()
        input_interface.parameters = {'recipe_input_1': MagicMock()}
        definition = RecipeDefinition(input_interface)
        definition.add_job_node('A', 'job_type_1', '1.0', 1)
        definition.add_recipe_node('B', 'recipe_type_1', 1)
        definition.add_job_node('C', 'job_type_2', '1.0', 1)
        definition.add_dependency('B', 'C')
        definition.add_dependency_input_connection('B', 'input_1', 'A',
                                                   'output_1')
        mocked_interfaces = {
            'A': MagicMock(),
            'B': MagicMock(),
            'C': MagicMock()
        }

        with self.assertRaises(InvalidDefinition) as context:
            definition.validate(mocked_interfaces, mocked_interfaces)
        self.assertEqual(context.exception.error.name, 'NODE_INTERFACE')