Пример #1
0
    def test_checklist_duplicate(self):
        with fake_checklist_request():
            # insert fake data from FakeDataMixin
            fake_pushid = 2
            self.insert_pushes()
            self.insert_requests()
            test1_request = self.get_requests_by_user('testuser1')[0]
            test2_request = self.get_requests_by_user('testuser2')[0]
            self.insert_pushcontent(test1_request['id'], fake_pushid)
            self.insert_pushcontent(test2_request['id'], fake_pushid)

            # insert fake checklist data
            checklist_queries = []
            for req in (test1_request, test2_request):
                checklist_queries.append(
                    db.push_checklist.insert({
                        'request': req['id'],
                        'type': 'search',
                        'target': 'prod'
                    }))
                checklist_queries.append(
                    db.push_checklist.insert({
                        'request': req['id'],
                        'type': 'search-cleanup',
                        'target': 'post-verify-prod'
                    }))
            db.execute_transaction_cb(checklist_queries, on_db_return)

            uri = "/checklist?id=%d" % fake_pushid
            response = self.fetch(uri)
            T.assert_equal(response.error, None)
            T.assert_not_in("No checklist items for this push", response.body)
            T.assert_not_equal(
                re.search("for testuser\d,testuser\d", response.body), None)
            T.assert_in("After Certifying - Do In Prod", response.body)
Пример #2
0
    def test_checklist_single_search_tag(self):
        with fake_checklist_request():
            # insert fake data from FakeDataMixin
            fake_pushid = 2
            self.insert_pushes()
            self.insert_requests()
            test1_request = self.get_requests_by_user('testuser1')[0]
            self.insert_pushcontent(test1_request['id'], fake_pushid)

            # insert fake checklist data
            checklist_queries = [
                db.push_checklist.insert({
                    'request': test1_request['id'],
                    'type': 'search',
                    'target': 'prod'
                }),
                db.push_checklist.insert({
                    'request': test1_request['id'],
                    'type': 'search-cleanup',
                    'target': 'post-verify-prod'
                }),
            ]
            db.execute_transaction_cb(checklist_queries, on_db_return)

            uri = "/checklist?id=%d" % fake_pushid
            response = self.fetch(uri)
            T.assert_equal(response.error, None)
            T.assert_not_in("No checklist items for this push", response.body)
            T.assert_not_in("multiple requests", response.body)
            T.assert_in("for testuser1", response.body)
            T.assert_in("After Certifying - Do In Prod", response.body)
Пример #3
0
    def test_checklist_duplicate(self):
        with fake_checklist_request():
            # insert fake data from FakeDataMixin
            fake_pushid = 2
            self.insert_pushes()
            self.insert_requests()
            test1_request = self.get_requests_by_user('testuser1')[0]
            test2_request = self.get_requests_by_user('testuser2')[0]
            self.insert_pushcontent(test1_request['id'], fake_pushid)
            self.insert_pushcontent(test2_request['id'], fake_pushid)

            # insert fake checklist data
            checklist_queries = []
            for req in (test1_request, test2_request):
                checklist_queries.append(db.push_checklist.insert({
                    'request': req['id'],
                    'type': 'search',
                    'target': 'prod'
                }))
                checklist_queries.append(db.push_checklist.insert({
                    'request': req['id'],
                    'type': 'search-cleanup',
                    'target': 'post-verify-prod'
                }))
            db.execute_transaction_cb(checklist_queries, on_db_return)

            uri = "/checklist?id=%d" % fake_pushid
            response = self.fetch(uri)
            T.assert_equal(response.error, None)
            T.assert_not_in("No checklist items for this push", response.body)
            T.assert_not_equal(re.search("for testuser\d,testuser\d", response.body), None)
            T.assert_in("After Certifying - Do In Prod", response.body)
Пример #4
0
    def test_checklist_single_search_tag(self):
        with fake_checklist_request():
            # insert fake data from FakeDataMixin
            fake_pushid = 2
            self.insert_pushes()
            self.insert_requests()
            test1_request = self.get_requests_by_user('testuser1')[0]
            self.insert_pushcontent(test1_request['id'], fake_pushid)

            # insert fake checklist data
            checklist_queries = [
                db.push_checklist.insert({
                    'request': test1_request['id'],
                    'type': 'search',
                    'target': 'prod'
                }),
                db.push_checklist.insert({
                    'request': test1_request['id'],
                    'type': 'search-cleanup',
                    'target': 'post-verify-prod'
                }),
            ]
            db.execute_transaction_cb(checklist_queries, on_db_return)

            uri = "/checklist?id=%d" % fake_pushid
            response = self.fetch(uri)
            T.assert_equal(response.error, None)
            T.assert_not_in("No checklist items for this push", response.body)
            T.assert_not_in("multiple requests", response.body)
            T.assert_in("for testuser1", response.body)
            T.assert_in("After Certifying - Do In Prod", response.body)
Пример #5
0
    def test_hoods_checklists(self):
        with fake_checklist_request():
            # insert fake data from FakeDataMixin
            fake_pushid = 2
            self.insert_pushes()
            self.insert_requests()
            req = self.get_requests_by_user('testuser1')[0]
            self.insert_pushcontent(req['id'], fake_pushid)

            # insert fake checklist data
            checklist_queries = []
            checklist_items = (
                {'request': req['id'], 'type': 'hoods', 'target': 'stage'},
                {'request': req['id'], 'type': 'hoods', 'target': 'post-stage'},
                {'request': req['id'], 'type': 'hoods', 'target': 'prod'},
                {'request': req['id'], 'type': 'hoods-cleanup', 'target': 'post-verify-stage'},
            )
            for checklist_item in checklist_items:
                checklist_queries.append(db.push_checklist.insert(checklist_item))

            db.execute_transaction_cb(checklist_queries, on_db_return)

            uri = "/checklist?id=%d" % fake_pushid
            response = self.fetch(uri)
            T.assert_equal(response.error, None)
            T.assert_not_in("No checklist items for this push", response.body)
            T.assert_in("Notify testuser1 to deploy Geoservices to stage", response.body)
            T.assert_in("Notify testuser1 to deploy Geoservices to prod", response.body)
            T.assert_in("Ask Search to force index distribution on stage for testuser1", response.body)
Пример #6
0
 def test_escape(self):
     T.assert_equal(
         [k for k in self.d if self.ed[k] != self.escaped[k]],
         [],
         "EscapedDict values doesn't match with pre-computed valued",
     )
     T.assert_in("&", self.ed["amp"])
     T.assert_not_in(">", self.ed["gt"])
Пример #7
0
    def verify_tag_rename(self, oldtag, newtag, success, db_results):
        self.check_db_results(success, db_results)

        #id, user, state, repo, branch, revision, *tags*, created, etc...
        tags = [result[6] for result in db_results.fetchall()]

        T.assert_not_in(oldtag, tags)
        T.assert_in(newtag, tags)
    def verify_type_rename(self, oldtype, newtype, success, db_results):
        self.check_db_results(success, db_results)

        # id, push, *type*, status, target
        types = [result[2] for result in db_results.fetchall()]

        T.assert_not_in(oldtype, types)
        T.assert_not_in('%s-cleanup' % oldtype, types)
        T.assert_in('%s' % newtype, types)
        T.assert_in('%s-cleanup' % newtype, types)
    def verify_type_rename(self, oldtype, newtype, success, db_results):
        self.check_db_results(success, db_results)

        # id, push, *type*, status, target
        types = [result[2] for result in db_results.fetchall()]

        T.assert_not_in(oldtype, types)
        T.assert_not_in('%s-cleanup' % oldtype, types)
        T.assert_in('%s' % newtype, types)
        T.assert_in('%s-cleanup' % newtype, types)
Пример #10
0
    def test_request_push_buttons_as_random_user(self):
        kwargs = dict(self.basic_kwargs)
        kwargs['push_buttons'] = True

        tree = self.render_module_request_with_users(self.basic_request, 'testuser', 'notuser', **kwargs)

        buttons_found = []
        for button in tree.iter('button'):
            T.assert_not_in(button.attrib['class'], self.pushmaster_button_classes + self.push_button_classes)
            buttons_found.append(button)

        T.assert_equal(0, len(buttons_found))
Пример #11
0
    def test_request_push_buttons_as_random_user(self):
        kwargs = dict(self.basic_kwargs)
        kwargs['push_buttons'] = True

        tree = self.render_module_request_with_users(self.basic_request, 'testuser', 'notuser', **kwargs)

        buttons_found = []
        for button in tree.iter('button'):
            T.assert_not_in(button.attrib['class'], self.pushmaster_button_classes + self.push_button_classes)
            buttons_found.append(button)

        T.assert_equal(0, len(buttons_found))
Пример #12
0
    def test_no_mine_on_requests_as_random_user(self):
        kwargs = dict(self.basic_kwargs)
        kwargs['push_contents'] = self.generate_push_contents([self.basic_request])
        kwargs['current_user'] = '******'

        with self.no_ui_modules():
            tree = self.render_etree(
                self.push_status_page,
                push_info=self.basic_push,
                **kwargs)

        found_mockreq = []
        for mockreq in tree.iter('mock'):
            T.assert_not_in('class', mockreq.getparent().attrib.keys())
            found_mockreq.append(mockreq)

        T.assert_equal(5, len(found_mockreq))
Пример #13
0
    def test_mine_on_requests_as_pushmaster(self):
        push_contents = {}
        section_id = []
        for section in self.accepting_push_sections:
            push_contents[section] = [self.basic_request]
            section_id.append('%s-items' % section)

        kwargs = dict(self.basic_kwargs)
        kwargs['push_contents'] = push_contents

        with self.no_ui_modules():
            tree = self.render_etree(
                self.push_status_page,
                push_info=self.basic_push,
                **kwargs)

        found_mockreq = []
        for mockreq in tree.iter('mock'):
            T.assert_not_in('class', mockreq.getparent().attrib.keys())
            found_mockreq.append(mockreq)

        T.assert_equal(5, len(found_mockreq))
Пример #14
0
 def test_localizables_push_website_command_is_correct_in_push_js(self):
     with self.request_fake_pushdata():
         response = self.fetch("/static/js/push.js")
         T.assert_in("localizables_push_website.py", response.body)
         # Old (bash) version of the script shouldn't be there
         T.assert_not_in("localizables-push-website", response.body)
Пример #15
0
 def test_escape(self):
     T.assert_equal(
         [k for k in self.d if self.ed[k] != self.escaped[k]], [],
         "EscapedDict values doesn't match with pre-computed valued")
     T.assert_in("&", self.ed['amp'])
     T.assert_not_in(">", self.ed['gt'])
Пример #16
0
 def test_localizables_push_website_command_is_correct_in_push_js(self):
     with self.request_fake_pushdata():
         response = self.fetch("/static/js/push.js")
         T.assert_in("localizables_push_website.py", response.body)
         # Old (bash) version of the script shouldn't be there
         T.assert_not_in("localizables-push-website", response.body)