示例#1
0
    def test_must_raise_for_unsupported_runtimes(self):

        runtime = "foobar"

        with self.assertRaises(UnsupportedRuntimeException) as ctx:
            get_workflow_config(runtime, self.code_dir, self.project_dir)

        self.assertEqual(str(ctx.exception),
                         "'foobar' runtime is not supported")
    def test_must_raise_for_unsupported_runtimes(self):

        runtime = "foobar"

        with self.assertRaises(UnsupportedRuntimeException) as ctx:
            get_workflow_config(runtime, self.code_dir, self.project_dir)

        self.assertEquals(str(ctx.exception),
                          "'foobar' runtime is not supported")
    def test_must_fail_when_manifest_not_found(self, runtime, build_file, os_mock):

        os_mock.path.join.side_effect = lambda dirname, v: v
        os_mock.path.exists.side_effect = lambda v: v == build_file

        with self.assertRaises(UnsupportedRuntimeException) as ctx:
            get_workflow_config(runtime, self.code_dir, self.project_dir)

        self.assertIn("Unable to find a supported build workflow for runtime '{}'.".format(runtime),
                      str(ctx.exception))
示例#4
0
    def test_must_fail_when_manifest_not_found(self, runtime, build_file,
                                               os_mock):

        os_mock.path.join.side_effect = lambda dirname, v: v
        os_mock.path.exists.side_effect = lambda v: v == build_file

        with self.assertRaises(UnsupportedRuntimeException) as ctx:
            get_workflow_config(runtime, self.code_dir, self.project_dir)

        self.assertIn(
            "Unable to find a supported build workflow for runtime '{}'.".
            format(runtime), str(ctx.exception))
示例#5
0
 def test_must_work_for_ruby(self, runtime):
     result = get_workflow_config(runtime, self.code_dir, self.project_dir)
     self.assertEqual(result.language, "ruby")
     self.assertEqual(result.dependency_manager, "bundler")
     self.assertEqual(result.application_framework, None)
     self.assertEqual(result.manifest_name, "Gemfile")
     self.assertIsNone(result.executable_search_paths)
 def test_must_work_for_ruby(self, runtime):
     result = get_workflow_config(runtime, self.code_dir, self.project_dir)
     self.assertEquals(result.language, "ruby")
     self.assertEquals(result.dependency_manager, "bundler")
     self.assertEquals(result.application_framework, None)
     self.assertEquals(result.manifest_name, "Gemfile")
     self.assertIsNone(result.executable_search_paths)
示例#7
0
    def test_must_work_for_nodejs(self, runtime):

        result = get_workflow_config(runtime, self.code_dir, self.project_dir)
        self.assertEqual(result.language, "nodejs")
        self.assertEqual(result.dependency_manager, "npm")
        self.assertEqual(result.application_framework, None)
        self.assertEqual(result.manifest_name, "package.json")
        self.assertIsNone(result.executable_search_paths)
示例#8
0
    def test_must_work_for_python(self, runtime):

        result = get_workflow_config(runtime, self.code_dir, self.project_dir)
        self.assertEqual(result.language, "python")
        self.assertEqual(result.dependency_manager, "pip")
        self.assertEqual(result.application_framework, None)
        self.assertEqual(result.manifest_name, "requirements.txt")
        self.assertIsNone(result.executable_search_paths)
    def test_must_work_for_nodejs(self, runtime):

        result = get_workflow_config(runtime, self.code_dir, self.project_dir)
        self.assertEquals(result.language, "nodejs")
        self.assertEquals(result.dependency_manager, "npm")
        self.assertEquals(result.application_framework, None)
        self.assertEquals(result.manifest_name, "package.json")
        self.assertIsNone(result.executable_search_paths)
示例#10
0
    def test_must_work_for_python(self, runtime):

        result = get_workflow_config(runtime, self.code_dir, self.project_dir)
        self.assertEquals(result.language, "python")
        self.assertEquals(result.dependency_manager, "pip")
        self.assertEquals(result.application_framework, None)
        self.assertEquals(result.manifest_name, "requirements.txt")
        self.assertIsNone(result.executable_search_paths)
示例#11
0
 def test_must_work_for_provided_with_no_specified_workflow(self, runtime):
     # Implicitly look for makefile capability.
     result = get_workflow_config(runtime, self.code_dir, self.project_dir)
     self.assertEqual(result.language, "provided")
     self.assertEqual(result.dependency_manager, None)
     self.assertEqual(result.application_framework, None)
     self.assertEqual(result.manifest_name, "Makefile")
     self.assertIsNone(result.executable_search_paths)
示例#12
0
    def test_must_work_for_java(self, runtime, build_file, os_mock):

        os_mock.path.join.side_effect = lambda dirname, v: v
        os_mock.path.exists.side_effect = lambda v: v == build_file

        result = get_workflow_config(runtime, self.code_dir, self.project_dir)
        self.assertEquals(result.language, "java")
        self.assertEquals(result.dependency_manager, "gradle")
        self.assertEquals(result.application_framework, None)
        self.assertEquals(result.manifest_name, "build.gradle")
        self.assertEquals(result.executable_search_paths, [self.code_dir, self.project_dir])
示例#13
0
    def test_must_work_for_java(self, runtime, build_file, os_mock):

        os_mock.path.join.side_effect = lambda dirname, v: v
        os_mock.path.exists.side_effect = lambda v: v == build_file

        result = get_workflow_config(runtime, self.code_dir, self.project_dir)
        self.assertEquals(result.language, "java")
        self.assertEquals(result.dependency_manager, "gradle")
        self.assertEquals(result.application_framework, None)
        self.assertEquals(result.manifest_name, "build.gradle")
        self.assertEquals(result.executable_search_paths,
                          [self.code_dir, self.project_dir])
示例#14
0
 def test_raise_exception_for_bad_specified_workflow(self, runtime):
     with self.assertRaises(UnsupportedBuilderException):
         get_workflow_config(runtime,
                             self.code_dir,
                             self.project_dir,
                             specified_workflow="Wrong")