Exemplo n.º 1
0
    def test_jobsubmission_job_file(self):
        """Test set_job_file"""

        jfile = mock.create_autospec(UserFile)
        coll = mock.create_autospec(FileCollection)
        api = mock.create_autospec(BatchAppsApi)
        jfile.name = "test"

        job = JobSubmission(api, "test_job")
        with self.assertRaises(ValueError):
            job.set_job_file(2)

        with self.assertRaises(ValueError):
            job.set_job_file(None)

        with self.assertRaises(ValueError):
            job.set_job_file("Something")

        with self.assertRaises(ValueError):
            job.set_job_file(jfile)

        job.required_files = coll
        job.set_job_file(jfile)
        self.assertEqual(job.source, "test")
        coll.add.assert_called_with(jfile)

        coll.__len__.return_value = 1
        job = JobSubmission(api, "test_job")
        job.required_files = coll
        job.set_job_file(0)
Exemplo n.º 2
0
    def test_jobsubmission_job_file(self):
        """Test set_job_file"""

        jfile = mock.create_autospec(UserFile)
        coll = mock.create_autospec(FileCollection)
        api = mock.create_autospec(BatchAppsApi)
        jfile.name = "test"

        job = JobSubmission(api, "test_job")
        with self.assertRaises(ValueError):
            job.set_job_file(2)

        with self.assertRaises(ValueError):
            job.set_job_file(None)

        with self.assertRaises(ValueError):
            job.set_job_file("Something")

        with self.assertRaises(ValueError):
            job.set_job_file(jfile)

        job.required_files = coll
        job.set_job_file(jfile)
        self.assertEqual(job.source, "test")
        coll.add.assert_called_with(jfile)

        coll.__len__.return_value = 1
        job = JobSubmission(api, "test_job")
        job.required_files = coll
        job.set_job_file(0)
Exemplo n.º 3
0
    def test_jobsubmission_add_file(self, mock_coll):
        """Test add_file"""

        coll = mock.create_autospec(FileCollection)
        api = mock.create_autospec(BatchAppsApi)
        mock_coll.return_value = coll

        job = JobSubmission(api, "test_job")
        job.add_file("test_file")
        mock_coll.assert_called_with(api)
        coll.add.assert_called_with("test_file")
        mock_coll.called = False

        job = JobSubmission(api, "test_job")
        job.required_files = coll
        job.add_file("test_file")
        self.assertFalse(mock_coll.called)
        coll.add.assert_called_with("test_file")
Exemplo n.º 4
0
    def test_jobsubmission_add_file(self, mock_coll):
        """Test add_file"""

        coll = mock.create_autospec(FileCollection)
        api = mock.create_autospec(BatchAppsApi)
        mock_coll.return_value = coll

        job = JobSubmission(api, "test_job")
        job.add_file("test_file")
        mock_coll.assert_called_with(api)
        coll.add.assert_called_with("test_file")
        mock_coll.called = False

        job = JobSubmission(api, "test_job")
        job.required_files = coll
        job.add_file("test_file")
        self.assertFalse(mock_coll.called)
        coll.add.assert_called_with("test_file")
Exemplo n.º 5
0
    def test_jobsubmission_create_job_message(self, mock_filter, mock_pool):
        """Test _create_job_message"""

        api = mock.create_autospec(BatchAppsApi)
        api.jobtype.return_value = "TestApp"
        mock_pool.return_value = {"autopool":"0"}
        files = mock.create_autospec(FileCollection)
        files._get_message.return_value = ["file1", "file2"]
        files.__len__.return_value = 2

        mock_filter.return_value = [{"Name":"k1", "Value":"v1"}]
        job = JobSubmission(api, "test_job", params={})
        job.instances = -1

        #with self.assertRaises(ValueError):
        msg = job._create_job_message()
        mock_pool.assert_called_with(1)
        self.assertEqual(msg, {'Name':'test_job',
                               'Type': 'TestApp',
                               'RequiredFiles':[],
                               'autoPoolSpecification': {"autopool":"0"},
                               'Parameters':[{"Name":"k1", "Value":"v1"}],
                               'JobFile':'',
                               'Settings':'',
                               'Priority':'Medium'})

        job.required_files = files
        job.instances = 5
        job.settings = "blah"
        msg = job._create_job_message()
        mock_pool.assert_called_with(5)
        self.assertEqual(msg, {'Name':'test_job',
                               'Type': 'TestApp',
                               'RequiredFiles':["file1", "file2"],
                               'autoPoolSpecification': {"autopool":"0"},
                               'Parameters':[{"Name":"k1", "Value":"v1"}],
                               'JobFile':'',
                               'Settings':'blah',
                               'Priority':'Medium'})

        job.source = None
        job.instances = []
        job.type = 42
        job.name = {}
        job.pool = "testID"

        msg = job._create_job_message()
        self.assertEqual(msg, {'Name':'{}',
                               'Type': 'TestApp',
                               'RequiredFiles':["file1", "file2"],
                               'poolId': "testID",
                               'Parameters':[{"Name":"k1", "Value":"v1"}],
                               'JobFile':'None',
                               'Settings':'blah',
                               'Priority':'Medium'})

        job.pool = mock.create_autospec(Pool)
        job.pool.id = "differentID"
        msg = job._create_job_message()
        self.assertEqual(msg, {'Name':'{}',
                               'Type': 'TestApp',
                               'RequiredFiles':["file1", "file2"],
                               'poolId': "differentID",
                               'Parameters':[{"Name":"k1", "Value":"v1"}],
                               'JobFile':'None',
                               'Settings':'blah',
                               'Priority':'Medium'})
Exemplo n.º 6
0
    def test_jobsubmission_create_job_message(self, mock_filter, mock_pool):
        """Test _create_job_message"""

        api = mock.create_autospec(BatchAppsApi)
        api.jobtype.return_value = "TestApp"
        mock_pool.return_value = {"autopool": "0"}
        files = mock.create_autospec(FileCollection)
        files._get_message.return_value = ["file1", "file2"]
        files.__len__.return_value = 2

        mock_filter.return_value = [{"Name": "k1", "Value": "v1"}]
        job = JobSubmission(api, "test_job", params={})
        job.instances = -1

        #with self.assertRaises(ValueError):
        msg = job._create_job_message()
        mock_pool.assert_called_with(1)
        self.assertEqual(
            msg, {
                'Name': 'test_job',
                'Type': 'TestApp',
                'RequiredFiles': [],
                'autoPoolSpecification': {
                    "autopool": "0"
                },
                'Parameters': [{
                    "Name": "k1",
                    "Value": "v1"
                }],
                'JobFile': '',
                'Settings': '',
                'Priority': 'Medium'
            })

        job.required_files = files
        job.instances = 5
        job.settings = "blah"
        msg = job._create_job_message()
        mock_pool.assert_called_with(5)
        self.assertEqual(
            msg, {
                'Name': 'test_job',
                'Type': 'TestApp',
                'RequiredFiles': ["file1", "file2"],
                'autoPoolSpecification': {
                    "autopool": "0"
                },
                'Parameters': [{
                    "Name": "k1",
                    "Value": "v1"
                }],
                'JobFile': '',
                'Settings': 'blah',
                'Priority': 'Medium'
            })

        job.source = None
        job.instances = []
        job.type = 42
        job.name = {}
        job.pool = "testID"

        msg = job._create_job_message()
        self.assertEqual(
            msg, {
                'Name': '{}',
                'Type': 'TestApp',
                'RequiredFiles': ["file1", "file2"],
                'poolId': "testID",
                'Parameters': [{
                    "Name": "k1",
                    "Value": "v1"
                }],
                'JobFile': 'None',
                'Settings': 'blah',
                'Priority': 'Medium'
            })

        job.pool = mock.create_autospec(Pool)
        job.pool.id = "differentID"
        msg = job._create_job_message()
        self.assertEqual(
            msg, {
                'Name': '{}',
                'Type': 'TestApp',
                'RequiredFiles': ["file1", "file2"],
                'poolId': "differentID",
                'Parameters': [{
                    "Name": "k1",
                    "Value": "v1"
                }],
                'JobFile': 'None',
                'Settings': 'blah',
                'Priority': 'Medium'
            })