Exemplo n.º 1
0
    def test_run_create_domain(self):
        """HPCStatsModifier.run() run w/o problem to create a new domain.
        """
        params = {
            'business': None,
            'project': None,
            'set_description': None,
            'set_domain': None,
            'new_domain': 'D1',
            'domain_name': 'D1 description'
        }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        MockPg2.PG_REQS['exist_domain'].set_assoc(params=('D1', ), result=[])
        self.modifier.run()
Exemplo n.º 2
0
    def test_run_set_project_domain_inexisting_project(self):
        """HPCStatsModifier.run() raises exceptions when setting project domain
           on an inexisting project
        """
        params = { 'business': None,
                   'project': 'P1',
                   'set_description': None,
                   'set_domain': 'D1',
                   'new_domain': None,
                   'domain_name': None }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        # HPCStatsModifier.set_project_domain() searches for the domain first
        # so we need to fake domain presence before checking for project.
        MockPg2.PG_REQS['exist_domain'].set_assoc(
          params=( 'D1', ),
          result=[ [ 'D1' ] ]
          )
        MockPg2.PG_REQS['find_project'].set_assoc(
          params=( 'P1', ),
          result=[ ]
          )
        self.assertRaisesRegexp(HPCStatsRuntimeError,
                                "unable to find project P1 in database",
                                self.modifier.run)
Exemplo n.º 3
0
    def test_run_set_business_desc(self):
        """HPCStatsModifier.run() run w/o problem to set business code
           description.
        """
        params = {
            'business': 'B1',
            'project': None,
            'set_description': 'B1 description',
            'set_domain': None,
            'new_domain': None,
            'domain_name': None
        }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        MockPg2.PG_REQS['existing_business'].set_assoc(params=('B1', ),
                                                       result=[['B1']])
        self.modifier.run()
Exemplo n.º 4
0
    def test_run_set_project_domain_inexisting_domain(self):
        """HPCStatsModifier.run() raises exceptions when setting project domain
           with inexisting domain
        """
        params = {
            'business': None,
            'project': 'P1',
            'set_description': None,
            'set_domain': 'D1',
            'new_domain': None,
            'domain_name': None
        }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        MockPg2.PG_REQS['exist_domain'].set_assoc(params=('D1', ), result=[])
        self.assertRaisesRegexp(HPCStatsRuntimeError,
                                "unable to find domain D1 in database",
                                self.modifier.run)
Exemplo n.º 5
0
    def test_run_set_business_desc_inexisting_business(self):
        """HPCStatsModifier.run() raises exception when setting description
           of an inexisting business code.
        """
        params = {
            'business': 'B1',
            'project': None,
            'set_description': 'B1 description',
            'set_domain': None,
            'new_domain': None,
            'domain_name': None
        }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        MockPg2.PG_REQS['existing_business'].set_assoc(params=('B1', ),
                                                       result=[])
        self.assertRaisesRegexp(HPCStatsRuntimeError,
                                "unable to find business code B1 in database",
                                self.modifier.run)
Exemplo n.º 6
0
    def test_run_create_domain_already_existing(self):
        """HPCStatsModifier.run() raises exception when creating a domain that
           already exists.
        """
        params = {
            'business': None,
            'project': None,
            'set_description': None,
            'set_domain': None,
            'new_domain': 'D1',
            'domain_name': 'D1 description'
        }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        MockPg2.PG_REQS['exist_domain'].set_assoc(params=('D1', ),
                                                  result=[['D1']])
        self.assertRaisesRegexp(HPCStatsRuntimeError,
                                "domain D1 already exists in database",
                                self.modifier.run)
Exemplo n.º 7
0
    def test_run_set_project_desc(self):
        """HPCStatsModifier.run() run w/o problem to set project
           description.
        """
        params = {
            'business': None,
            'project': 'P1',
            'set_description': 'P1 description',
            'set_domain': None,
            'new_domain': None,
            'domain_name': None
        }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        MockPg2.PG_REQS['find_project'].set_assoc(params=('P1', ),
                                                  result=[[1]])
        MockPg2.PG_REQS['load_project'].set_assoc(
            params=(1, ), result=[['P1', 'P1 old description', 'D1']])
        self.modifier.run()
Exemplo n.º 8
0
    def test_run_set_project_domain_inexisting_project(self):
        """HPCStatsModifier.run() raises exceptions when setting project domain
           on an inexisting project
        """
        params = {
            'business': None,
            'project': 'P1',
            'set_description': None,
            'set_domain': 'D1',
            'new_domain': None,
            'domain_name': None
        }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        # HPCStatsModifier.set_project_domain() searches for the domain first
        # so we need to fake domain presence before checking for project.
        MockPg2.PG_REQS['exist_domain'].set_assoc(params=('D1', ),
                                                  result=[['D1']])
        MockPg2.PG_REQS['find_project'].set_assoc(params=('P1', ), result=[])
        self.assertRaisesRegexp(HPCStatsRuntimeError,
                                "unable to find project P1 in database",
                                self.modifier.run)
Exemplo n.º 9
0
    def test_run_create_domain(self):
        """HPCStatsModifier.run() run w/o problem to create a new domain.
        """
        params = { 'business': None,
                   'project': None,
                   'set_description': None,
                   'set_domain': None,
                   'new_domain': 'D1',
                   'domain_name': 'D1 description' }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        MockPg2.PG_REQS['exist_domain'].set_assoc(
          params=( 'D1', ),
          result=[ ]
          )
        self.modifier.run()
Exemplo n.º 10
0
    def test_run_set_business_desc(self):
        """HPCStatsModifier.run() run w/o problem to set business code
           description.
        """
        params = { 'business': 'B1',
                   'project': None,
                   'set_description': 'B1 description',
                   'set_domain': None,
                   'new_domain': None,
                   'domain_name': None }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        MockPg2.PG_REQS['existing_business'].set_assoc(
          params=( 'B1', ),
          result=[ [ 'B1' ] ]
          )
        self.modifier.run()
Exemplo n.º 11
0
    def test_run_set_business_desc_inexisting_business(self):
        """HPCStatsModifier.run() raises exception when setting description
           of an inexisting business code.
        """
        params = { 'business': 'B1',
                   'project': None,
                   'set_description': 'B1 description',
                   'set_domain': None,
                   'new_domain': None,
                   'domain_name': None }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        MockPg2.PG_REQS['existing_business'].set_assoc(
          params=( 'B1', ),
          result=[ ]
          )
        self.assertRaisesRegexp(HPCStatsRuntimeError,
                                "unable to find business code B1 in database",
                                self.modifier.run)
Exemplo n.º 12
0
    def test_run_create_domain_already_existing(self):
        """HPCStatsModifier.run() raises exception when creating a domain that
           already exists.
        """
        params = { 'business': None,
                   'project': None,
                   'set_description': None,
                   'set_domain': None,
                   'new_domain': 'D1',
                   'domain_name': 'D1 description' }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        MockPg2.PG_REQS['exist_domain'].set_assoc(
          params=( 'D1', ),
          result=[ [ 'D1' ] ]
          )
        self.assertRaisesRegexp(HPCStatsRuntimeError,
                                "domain D1 already exists in database",
                                self.modifier.run)
Exemplo n.º 13
0
    def test_run_set_project_domain_inexisting_domain(self):
        """HPCStatsModifier.run() raises exceptions when setting project domain
           with inexisting domain
        """
        params = { 'business': None,
                   'project': 'P1',
                   'set_description': None,
                   'set_domain': 'D1',
                   'new_domain': None,
                   'domain_name': None }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        MockPg2.PG_REQS['exist_domain'].set_assoc(
          params=( 'D1', ),
          result=[ ]
          )
        self.assertRaisesRegexp(HPCStatsRuntimeError,
                                "unable to find domain D1 in database",
                                self.modifier.run)
Exemplo n.º 14
0
    def test_run_set_project_desc(self):
        """HPCStatsModifier.run() run w/o problem to set project
           description.
        """
        params = { 'business': None,
                   'project': 'P1',
                   'set_description': 'P1 description',
                   'set_domain': None,
                   'new_domain': None,
                   'domain_name': None }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        MockPg2.PG_REQS['find_project'].set_assoc(
          params=( 'P1', ),
          result=[ [ 1 ] ]
          )
        MockPg2.PG_REQS['load_project'].set_assoc(
          params=( 1, ),
          result=[ [ 'P1', 'P1 old description', 'D1' ] ]
          )
        self.modifier.run()
Exemplo n.º 15
0
class TestsHPCStatModifier(HPCStatsTestCase):

    def setUp(self):
        self.filename = 'fake'
        self.cluster = 'testcluster'
        HPCStatsConf.__bases__ = (MockConfigParser, object)
        self.conf = HPCStatsConf(self.filename, self.cluster)
        self.conf.conf = CONFIG.copy()
        init_reqs()

    @mock.patch("HPCStats.DB.HPCStatsDB.psycopg2", mock_psycopg2())
    def test_run_set_business_desc(self):
        """HPCStatsModifier.run() run w/o problem to set business code
           description.
        """
        params = { 'business': 'B1',
                   'project': None,
                   'set_description': 'B1 description',
                   'set_domain': None,
                   'new_domain': None,
                   'domain_name': None }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        MockPg2.PG_REQS['existing_business'].set_assoc(
          params=( 'B1', ),
          result=[ [ 'B1' ] ]
          )
        self.modifier.run()

    @mock.patch("HPCStats.DB.HPCStatsDB.psycopg2", mock_psycopg2())
    def test_run_set_business_desc_inexisting_business(self):
        """HPCStatsModifier.run() raises exception when setting description
           of an inexisting business code.
        """
        params = { 'business': 'B1',
                   'project': None,
                   'set_description': 'B1 description',
                   'set_domain': None,
                   'new_domain': None,
                   'domain_name': None }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        MockPg2.PG_REQS['existing_business'].set_assoc(
          params=( 'B1', ),
          result=[ ]
          )
        self.assertRaisesRegexp(HPCStatsRuntimeError,
                                "unable to find business code B1 in database",
                                self.modifier.run)

    @mock.patch("HPCStats.DB.HPCStatsDB.psycopg2", mock_psycopg2())
    def test_run_set_project_desc(self):
        """HPCStatsModifier.run() run w/o problem to set project
           description.
        """
        params = { 'business': None,
                   'project': 'P1',
                   'set_description': 'P1 description',
                   'set_domain': None,
                   'new_domain': None,
                   'domain_name': None }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        MockPg2.PG_REQS['find_project'].set_assoc(
          params=( 'P1', ),
          result=[ [ 1 ] ]
          )
        MockPg2.PG_REQS['load_project'].set_assoc(
          params=( 1, ),
          result=[ [ 'P1', 'P1 old description', 'D1' ] ]
          )
        self.modifier.run()

    @mock.patch("HPCStats.DB.HPCStatsDB.psycopg2", mock_psycopg2())
    def test_run_set_project_desc_inexisting_project(self):
        """HPCStatsModifier.run() raises exception when setting a description
           of an inexisting project.
        """
        params = { 'business': None,
                   'project': 'P1',
                   'set_description': 'P1 description',
                   'set_domain': None,
                   'new_domain': None,
                   'domain_name': None }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        MockPg2.PG_REQS['find_project'].set_assoc(
          params=( 'P1', ),
          result=[ ]
          )
        self.assertRaisesRegexp(HPCStatsRuntimeError,
                                "unable to find project P1 in database",
                                self.modifier.run)

    @mock.patch("HPCStats.DB.HPCStatsDB.psycopg2", mock_psycopg2())
    def test_run_set_project_domain(self):
        """HPCStatsModifier.run() run w/o problem to set project domain.
        """
        params = { 'business': None,
                   'project': 'P1',
                   'set_description': None,
                   'set_domain': 'D1',
                   'new_domain': None,
                   'domain_name': None }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        MockPg2.PG_REQS['find_project'].set_assoc(
          params=( 'P1', ),
          result=[ [ 1 ] ]
          )
        MockPg2.PG_REQS['load_project'].set_assoc(
          params=( 1, ),
          result=[ [ 'P1', 'P1 description', 'D0' ] ]
          )
        MockPg2.PG_REQS['exist_domain'].set_assoc(
          params=( 'D1', ),
          result=[ [ 'D1' ] ]
          )
        self.modifier.run()

    @mock.patch("HPCStats.DB.HPCStatsDB.psycopg2", mock_psycopg2())
    def test_run_set_project_domain_inexisting_project(self):
        """HPCStatsModifier.run() raises exceptions when setting project domain
           on an inexisting project
        """
        params = { 'business': None,
                   'project': 'P1',
                   'set_description': None,
                   'set_domain': 'D1',
                   'new_domain': None,
                   'domain_name': None }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        # HPCStatsModifier.set_project_domain() searches for the domain first
        # so we need to fake domain presence before checking for project.
        MockPg2.PG_REQS['exist_domain'].set_assoc(
          params=( 'D1', ),
          result=[ [ 'D1' ] ]
          )
        MockPg2.PG_REQS['find_project'].set_assoc(
          params=( 'P1', ),
          result=[ ]
          )
        self.assertRaisesRegexp(HPCStatsRuntimeError,
                                "unable to find project P1 in database",
                                self.modifier.run)

    @mock.patch("HPCStats.DB.HPCStatsDB.psycopg2", mock_psycopg2())
    def test_run_set_project_domain_inexisting_domain(self):
        """HPCStatsModifier.run() raises exceptions when setting project domain
           with inexisting domain
        """
        params = { 'business': None,
                   'project': 'P1',
                   'set_description': None,
                   'set_domain': 'D1',
                   'new_domain': None,
                   'domain_name': None }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        MockPg2.PG_REQS['exist_domain'].set_assoc(
          params=( 'D1', ),
          result=[ ]
          )
        self.assertRaisesRegexp(HPCStatsRuntimeError,
                                "unable to find domain D1 in database",
                                self.modifier.run)

    @mock.patch("HPCStats.DB.HPCStatsDB.psycopg2", mock_psycopg2())
    def test_run_create_domain(self):
        """HPCStatsModifier.run() run w/o problem to create a new domain.
        """
        params = { 'business': None,
                   'project': None,
                   'set_description': None,
                   'set_domain': None,
                   'new_domain': 'D1',
                   'domain_name': 'D1 description' }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        MockPg2.PG_REQS['exist_domain'].set_assoc(
          params=( 'D1', ),
          result=[ ]
          )
        self.modifier.run()

    @mock.patch("HPCStats.DB.HPCStatsDB.psycopg2", mock_psycopg2())
    def test_run_create_domain_already_existing(self):
        """HPCStatsModifier.run() raises exception when creating a domain that
           already exists.
        """
        params = { 'business': None,
                   'project': None,
                   'set_description': None,
                   'set_domain': None,
                   'new_domain': 'D1',
                   'domain_name': 'D1 description' }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        MockPg2.PG_REQS['exist_domain'].set_assoc(
          params=( 'D1', ),
          result=[ [ 'D1' ] ]
          )
        self.assertRaisesRegexp(HPCStatsRuntimeError,
                                "domain D1 already exists in database",
                                self.modifier.run)
Exemplo n.º 16
0
class TestsHPCStatModifier(HPCStatsTestCase):
    def setUp(self):
        self.filename = 'fake'
        self.cluster = 'testcluster'
        HPCStatsConf.__bases__ = (MockConfigParser, object)
        self.conf = HPCStatsConf(self.filename, self.cluster)
        self.conf.conf = CONFIG.copy()
        init_reqs()

    @mock.patch("HPCStats.DB.HPCStatsDB.psycopg2", mock_psycopg2())
    def test_run_set_business_desc(self):
        """HPCStatsModifier.run() run w/o problem to set business code
           description.
        """
        params = {
            'business': 'B1',
            'project': None,
            'set_description': 'B1 description',
            'set_domain': None,
            'new_domain': None,
            'domain_name': None
        }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        MockPg2.PG_REQS['existing_business'].set_assoc(params=('B1', ),
                                                       result=[['B1']])
        self.modifier.run()

    @mock.patch("HPCStats.DB.HPCStatsDB.psycopg2", mock_psycopg2())
    def test_run_set_business_desc_inexisting_business(self):
        """HPCStatsModifier.run() raises exception when setting description
           of an inexisting business code.
        """
        params = {
            'business': 'B1',
            'project': None,
            'set_description': 'B1 description',
            'set_domain': None,
            'new_domain': None,
            'domain_name': None
        }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        MockPg2.PG_REQS['existing_business'].set_assoc(params=('B1', ),
                                                       result=[])
        self.assertRaisesRegexp(HPCStatsRuntimeError,
                                "unable to find business code B1 in database",
                                self.modifier.run)

    @mock.patch("HPCStats.DB.HPCStatsDB.psycopg2", mock_psycopg2())
    def test_run_set_project_desc(self):
        """HPCStatsModifier.run() run w/o problem to set project
           description.
        """
        params = {
            'business': None,
            'project': 'P1',
            'set_description': 'P1 description',
            'set_domain': None,
            'new_domain': None,
            'domain_name': None
        }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        MockPg2.PG_REQS['find_project'].set_assoc(params=('P1', ),
                                                  result=[[1]])
        MockPg2.PG_REQS['load_project'].set_assoc(
            params=(1, ), result=[['P1', 'P1 old description', 'D1']])
        self.modifier.run()

    @mock.patch("HPCStats.DB.HPCStatsDB.psycopg2", mock_psycopg2())
    def test_run_set_project_desc_inexisting_project(self):
        """HPCStatsModifier.run() raises exception when setting a description
           of an inexisting project.
        """
        params = {
            'business': None,
            'project': 'P1',
            'set_description': 'P1 description',
            'set_domain': None,
            'new_domain': None,
            'domain_name': None
        }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        MockPg2.PG_REQS['find_project'].set_assoc(params=('P1', ), result=[])
        self.assertRaisesRegexp(HPCStatsRuntimeError,
                                "unable to find project P1 in database",
                                self.modifier.run)

    @mock.patch("HPCStats.DB.HPCStatsDB.psycopg2", mock_psycopg2())
    def test_run_set_project_domain(self):
        """HPCStatsModifier.run() run w/o problem to set project domain.
        """
        params = {
            'business': None,
            'project': 'P1',
            'set_description': None,
            'set_domain': 'D1',
            'new_domain': None,
            'domain_name': None
        }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        MockPg2.PG_REQS['find_project'].set_assoc(params=('P1', ),
                                                  result=[[1]])
        MockPg2.PG_REQS['load_project'].set_assoc(
            params=(1, ), result=[['P1', 'P1 description', 'D0']])
        MockPg2.PG_REQS['exist_domain'].set_assoc(params=('D1', ),
                                                  result=[['D1']])
        self.modifier.run()

    @mock.patch("HPCStats.DB.HPCStatsDB.psycopg2", mock_psycopg2())
    def test_run_set_project_domain_inexisting_project(self):
        """HPCStatsModifier.run() raises exceptions when setting project domain
           on an inexisting project
        """
        params = {
            'business': None,
            'project': 'P1',
            'set_description': None,
            'set_domain': 'D1',
            'new_domain': None,
            'domain_name': None
        }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        # HPCStatsModifier.set_project_domain() searches for the domain first
        # so we need to fake domain presence before checking for project.
        MockPg2.PG_REQS['exist_domain'].set_assoc(params=('D1', ),
                                                  result=[['D1']])
        MockPg2.PG_REQS['find_project'].set_assoc(params=('P1', ), result=[])
        self.assertRaisesRegexp(HPCStatsRuntimeError,
                                "unable to find project P1 in database",
                                self.modifier.run)

    @mock.patch("HPCStats.DB.HPCStatsDB.psycopg2", mock_psycopg2())
    def test_run_set_project_domain_inexisting_domain(self):
        """HPCStatsModifier.run() raises exceptions when setting project domain
           with inexisting domain
        """
        params = {
            'business': None,
            'project': 'P1',
            'set_description': None,
            'set_domain': 'D1',
            'new_domain': None,
            'domain_name': None
        }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        MockPg2.PG_REQS['exist_domain'].set_assoc(params=('D1', ), result=[])
        self.assertRaisesRegexp(HPCStatsRuntimeError,
                                "unable to find domain D1 in database",
                                self.modifier.run)

    @mock.patch("HPCStats.DB.HPCStatsDB.psycopg2", mock_psycopg2())
    def test_run_create_domain(self):
        """HPCStatsModifier.run() run w/o problem to create a new domain.
        """
        params = {
            'business': None,
            'project': None,
            'set_description': None,
            'set_domain': None,
            'new_domain': 'D1',
            'domain_name': 'D1 description'
        }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        MockPg2.PG_REQS['exist_domain'].set_assoc(params=('D1', ), result=[])
        self.modifier.run()

    @mock.patch("HPCStats.DB.HPCStatsDB.psycopg2", mock_psycopg2())
    def test_run_create_domain_already_existing(self):
        """HPCStatsModifier.run() raises exception when creating a domain that
           already exists.
        """
        params = {
            'business': None,
            'project': None,
            'set_description': None,
            'set_domain': None,
            'new_domain': 'D1',
            'domain_name': 'D1 description'
        }
        self.modifier = HPCStatsModifier(self.conf, self.cluster, params)

        MockPg2.PG_REQS['exist_domain'].set_assoc(params=('D1', ),
                                                  result=[['D1']])
        self.assertRaisesRegexp(HPCStatsRuntimeError,
                                "domain D1 already exists in database",
                                self.modifier.run)