Exemplo n.º 1
0
    def setUp(self):
        self.services = service_manager.Services(
            project=fake.ProjectService(),
            config=fake.ConfigService(),
            issue=fake.IssueService(),
        )
        self.project = self.services.project.TestAddProject('proj',
                                                            project_id=789)
        self.mr = testing_helpers.MakeMonorailRequest()
        self.mr.specified_project_id = 789
        self.mr.shard_id = 2
        self.mr.invalidation_timestep = 12345

        self.servlet = backendnonviewable.BackendNonviewable(
            'req', 'res', services=self.services)

        self.mox = mox.Mox()
        self.testbed = testbed.Testbed()
        self.testbed.activate()
        self.testbed.init_memcache_stub()
 def setUp(self):
   self.users_by_id = {
       111: framework_views.StuffUserView(111, '*****@*****.**', True),
       222: framework_views.StuffUserView(222, '*****@*****.**', True),
       999: framework_views.StuffUserView(999, '*****@*****.**', True),
       }
   self.services = service_manager.Services(
       project=fake.ProjectService(),
       config=fake.ConfigService(),
       issue=fake.IssueService(),
       user=fake.UserService(),
       usergroup=fake.UserGroupService())
   self.owner = self.services.user.TestAddUser('*****@*****.**', 111)
   self.member = self.services.user.TestAddUser('*****@*****.**', 222)
   self.visitor = self.services.user.TestAddUser('*****@*****.**', 999)
   self.project = self.services.project.TestAddProject(
       'proj', owner_ids=[111], committer_ids=[222])
   self.project.process_inbound_email = True
   self.issue = fake.MakeTestIssue(
       self.project.project_id, 1, 'summary', 'New', 111)
Exemplo n.º 3
0
 def setUp(self):
     self.cnxn = 'fake cnxn'
     self.config = tracker_bizobj.MakeDefaultProjectIssueConfig(789)
     self.config.component_defs.append(
         tracker_bizobj.MakeComponentDef(101, 789, 'UI', 'doc', False, [],
                                         [], 0, 0))
     self.config.component_defs.append(
         tracker_bizobj.MakeComponentDef(102, 789, 'UI>Search', 'doc',
                                         False, [], [], 0, 0))
     self.config.component_defs.append(
         tracker_bizobj.MakeComponentDef(201, 789, 'DB', 'doc', False, [],
                                         [], 0, 0))
     self.config.component_defs.append(
         tracker_bizobj.MakeComponentDef(301, 789, 'Search', 'doc', False,
                                         [], [], 0, 0))
     self.services = service_manager.Services(user=fake.UserService(),
                                              project=fake.ProjectService(),
                                              issue=fake.IssueService(),
                                              config=fake.ConfigService())
     self.services.user.TestAddUser('*****@*****.**', 111L)
 def setUp(self):
     self.services = service_manager.Services(user=fake.UserService(),
                                              config=fake.ConfigService(),
                                              project=fake.ProjectService())
     self.servlet = componentcreate.ComponentCreate('req',
                                                    'res',
                                                    services=self.services)
     self.project = self.services.project.TestAddProject('proj')
     self.mr = testing_helpers.MakeMonorailRequest(
         project=self.project, perms=permissions.OWNER_ACTIVE_PERMISSIONSET)
     self.mr.auth.email = '*****@*****.**'
     self.config = self.services.config.GetProjectConfig(
         'fake cnxn', self.project.project_id)
     self.services.config.StoreConfig('fake cnxn', self.config)
     self.cd = tracker_bizobj.MakeComponentDef(1, self.project.project_id,
                                               'BackEnd', 'doc', False, [],
                                               [111L], 0, 122L)
     self.config.component_defs = [self.cd]
     self.services.user.TestAddUser('*****@*****.**', 111L)
     self.services.user.TestAddUser('*****@*****.**', 122L)
Exemplo n.º 5
0
 def setUp(self):
     self.testbed = testbed.Testbed()
     self.testbed.activate()
     self.testbed.init_user_stub()
     self.testbed.init_memcache_stub()
     self.testbed.init_datastore_v3_stub()
     self.services = service_manager.Services(project=fake.ProjectService(),
                                              config=fake.ConfigService(),
                                              issue=fake.IssueService(),
                                              user=fake.UserService(),
                                              spam=fake.SpamService())
     self.proj = self.services.project.TestAddProject('proj',
                                                      project_id=789)
     self.cnxn = 'fake cnxn'
     self.servlet = issuepeek.IssuePeek('req',
                                        'res',
                                        services=self.services)
     self.local_id_1 = self.services.issue.CreateIssue(
         self.cnxn, self.services, 789, 'summary', 'status', 111L, [], [],
         [], [], 111L, 'The screen is just dark when I press power on')
Exemplo n.º 6
0
 def setUp(self):
     self.services = service_manager.Services(
         config=fake.ConfigService(),
         project=fake.ProjectService(),
         issue=fake.IssueService(),
         user=fake.UserService(),
         issue_star=fake.IssueStarService(),
     )
     self.cnxn = 'fake connection'
     self.project = self.services.project.TestAddProject('proj',
                                                         project_id=789)
     self.servlet = issueexport.IssueExport('req',
                                            'res',
                                            services=self.services)
     self.jsonfeed = issueexport.IssueExportJSON('req',
                                                 'res',
                                                 services=self.services)
     self.mr = testing_helpers.MakeMonorailRequest(
         project=self.project, perms=permissions.OWNER_ACTIVE_PERMISSIONSET)
     self.mr.can = 1
Exemplo n.º 7
0
 def setUp(self):
     self.services = service_manager.Services(user=fake.UserService(),
                                              config=fake.ConfigService(),
                                              project=fake.ProjectService())
     self.servlet = fielddetail.FieldDetail('req',
                                            'res',
                                            services=self.services)
     self.project = self.services.project.TestAddProject('proj')
     self.mr = testing_helpers.MakeMonorailRequest(
         project=self.project, perms=permissions.OWNER_ACTIVE_PERMISSIONSET)
     self.config = self.services.config.GetProjectConfig(
         'fake cnxn', self.project.project_id)
     self.services.config.StoreConfig('fake cnxn', self.config)
     self.fd = tracker_bizobj.MakeFieldDef(123, 789, 'CPU',
                                           tracker_pb2.FieldTypes.INT_TYPE,
                                           None, '', False, False, False,
                                           None, None, '', False, '', '',
                                           tracker_pb2.NotifyTriggers.NEVER,
                                           'no_action', 'doc', False)
     self.config.field_defs.append(self.fd)
     self.mr.field_name = 'CPU'
Exemplo n.º 8
0
    def setUp(self):
        self.cnxn = 'fake cnxn'
        self.services = service_manager.Services(config=fake.ConfigService(),
                                                 issue=fake.IssueService(),
                                                 user=fake.UserService(),
                                                 project=fake.ProjectService())
        self.project = self.services.project.TestAddProject(
            'proj', project_id=987, process_inbound_email=True)
        self.project_addr = '*****@*****.**'

        self.issue = tracker_pb2.Issue()
        self.issue.project_id = 987
        self.issue.local_id = 100
        self.services.issue.TestAddIssue(self.issue)

        self.msg = testing_helpers.MakeMessage(testing_helpers.HEADER_LINES,
                                               'awesome!')

        request, _ = testing_helpers.GetRequestObjects()
        self.inbound = inboundemail.InboundEmail(request, None, self.services)
        self.mox = mox.Mox()
Exemplo n.º 9
0
    def setUp(self):
        self.testbed = testbed.Testbed()
        self.testbed.activate()
        self.testbed.init_memcache_stub()
        self.testbed.init_user_stub()

        self.mox = mox.Mox()
        self.services = service_manager.Services(
            config=fake.ConfigService(),
            issue=fake.IssueService(),
            user=fake.UserService(),
            project=fake.ProjectService(),
        )
        self.project = self.services.project.TestAddProject('proj',
                                                            project_id=987)

        self.ratelimiter = ratelimiter.RateLimiter()
        ratelimiter.COUNTRY_LIMITS = {}
        os.environ['USER_EMAIL'] = ''
        settings.ratelimiting_enabled = True
        ratelimiter.DEFAULT_LIMIT = 10
Exemplo n.º 10
0
    def setUp(self):
        self.services = service_manager.Services(
            user=fake.UserService(),
            usergroup=fake.UserGroupService(),
            features=fake.FeaturesService(),
            issue=fake.IssueService(),
            project=fake.ProjectService(),
            config=fake.ConfigService(),
            issue_star=fake.IssueStarService())
        self.servlet = dateaction.IssueDateActionTask('req',
                                                      'res',
                                                      services=self.services)
        self.mox = mox.Mox()

        self.config = self.services.config.GetProjectConfig('cnxn', 789)
        self.config.field_defs = [
            tracker_bizobj.MakeFieldDef(
                123, 789, 'NextAction', tracker_pb2.FieldTypes.DATE_TYPE, '',
                '', False, False, False, None, None, None, False, '', None,
                None, tracker_pb2.DateAction.PING_OWNER_ONLY,
                'Date of next expected progress update', False),
            tracker_bizobj.MakeFieldDef(124, 789, 'EoL',
                                        tracker_pb2.FieldTypes.DATE_TYPE, '',
                                        '', False, False, False, None, None,
                                        None, False, '', None, None,
                                        tracker_pb2.DateAction.PING_OWNER_ONLY,
                                        'doc', False),
            tracker_bizobj.MakeFieldDef(125, 789, 'TLsBirthday',
                                        tracker_pb2.FieldTypes.DATE_TYPE, '',
                                        '', False, False, False, None, None,
                                        None, False, '', None, None,
                                        tracker_pb2.DateAction.NO_ACTION,
                                        'doc', False),
        ]
        self.services.config.StoreConfig('cnxn', self.config)
        self.project = self.services.project.TestAddProject('proj',
                                                            project_id=789)
        self.owner = self.services.user.TestAddUser('*****@*****.**', 111)
        self.date_action_user = self.services.user.TestAddUser(
            '*****@*****.**', 555)
Exemplo n.º 11
0
    def testConvertIssue(self):
        """Convert an internal Issue PB to an IssueWrapper API PB."""
        svcs = service_manager.Services(issue=fake.IssueService(),
                                        project=fake.ProjectService(),
                                        config=fake.ConfigService(),
                                        issue_star=fake.IssueStarService(),
                                        user=fake.UserService())
        svcs.project.TestAddProject('test-project',
                                    owner_ids=[2],
                                    project_id=12345)
        svcs.user.TestAddUser('*****@*****.**', 111L)

        mar = mock.Mock()
        mar.cnxn = None
        mar.project_name = 'test-project'
        mar.project_id = 12345
        mar.auth.effective_ids = {111L}
        mar.perms = permissions.EMPTY_PERMISSIONSET

        now = 1472067725
        now_dt = datetime.datetime.fromtimestamp(now)

        issue = fake.MakeTestIssue(12345, 1, 'one', 'New', 111L)
        issue.opened_timestamp = now
        issue.owner_modified_timestamp = now
        issue.status_modified_timestamp = now
        issue.component_modified_timestamp = now
        # TODO(jrobbins): set up a lot more fields.

        for cls in [
                api_pb2_v1.IssueWrapper, api_pb2_v1.IssuesGetInsertResponse
        ]:
            result = api_pb2_v1_helpers.convert_issue(cls, issue, mar, svcs)
            self.assertEquals(1, result.id)
            self.assertEquals('one', result.title)
            self.assertEquals('one', result.summary)
            self.assertEquals(now_dt, result.published)
            self.assertEquals(now_dt, result.owner_modified)
            self.assertEquals(now_dt, result.status_modified)
            self.assertEquals(now_dt, result.component_modified)
Exemplo n.º 12
0
    def setUp(self):
        self.services = service_manager.Services(project=fake.ProjectService(),
                                                 config=fake.ConfigService(),
                                                 user=fake.UserService())

        self.services.project.TestAddProject('proj', owner_ids=[111])
        self.services.user.TestAddUser('*****@*****.**', 222)

        cnxn = 'fake connection'
        config = self.services.config.GetProjectConfig(cnxn, 789)

        for status in ['New', 'ReadyForReview']:
            config.well_known_statuses.append(
                tracker_pb2.StatusDef(status=status))

        for label in ['Prioity-Low', 'Priority-High']:
            config.well_known_labels.append(tracker_pb2.LabelDef(label=label))

        config.exclusive_label_prefixes.extend(
            tracker_constants.DEFAULT_EXCL_LABEL_PREFIXES)

        self.services.config.StoreConfig(cnxn, config)
Exemplo n.º 13
0
    def VerifyParseQuickEditCommmand(self,
                                     cmd,
                                     exp_summary='sum',
                                     exp_status='New',
                                     exp_owner_id=111,
                                     exp_cc_ids=None,
                                     exp_labels=None):

        issue = tracker_pb2.Issue()
        issue.project_name = 'proj'
        issue.local_id = 1
        issue.summary = 'sum'
        issue.status = 'New'
        issue.owner_id = 111
        issue.cc_ids.extend([222, 333])
        issue.labels.extend(['Type-Defect', 'Priority-Medium', 'Hot'])

        if exp_cc_ids is None:
            exp_cc_ids = [222, 333]
        if exp_labels is None:
            exp_labels = ['Type-Defect', 'Priority-Medium', 'Hot']

        config = tracker_bizobj.MakeDefaultProjectIssueConfig(789)
        logged_in_user_id = 999
        services = service_manager.Services(config=fake.ConfigService(),
                                            issue=fake.IssueService(),
                                            user=fake.UserService())
        services.user.TestAddUser('jrobbins', 333)
        services.user.TestAddUser('*****@*****.**', 888)

        cnxn = 'fake cnxn'
        (summary, status, owner_id, cc_ids,
         labels) = commands.ParseQuickEditCommand(cnxn, cmd, issue, config,
                                                  logged_in_user_id, services)
        self.assertEqual(exp_summary, summary)
        self.assertEqual(exp_status, status)
        self.assertEqual(exp_owner_id, owner_id)
        self.assertListEqual(exp_cc_ids, cc_ids)
        self.assertListEqual(exp_labels, labels)
Exemplo n.º 14
0
  def setUp(self):
    self.cnxn = 'fake cnxn'
    self.services = service_manager.Services(
        config=fake.ConfigService(),
        issue=fake.IssueService(),
        project=fake.ProjectService(),
        user=fake.UserService(),
        usergroup=fake.UserGroupService())
    self.project = self.services.project.TestAddProject(
        'proj', project_id=789)
    self.services.user.TestAddUser('*****@*****.**', 111)
    self.issue = fake.MakeTestIssue(
        789, 1, 'sum', 'New', 111)
    self.services.issue.TestAddIssue(self.issue)

    self.patcher_1 = mock.patch('endpoints.get_current_user')
    self.mock_endpoints_gcu = self.patcher_1.start()
    self.mock_endpoints_gcu.return_value = None
    self.patcher_2 = mock.patch('google.appengine.api.oauth.get_current_user')
    self.mock_oauth_gcu = self.patcher_2.start()
    self.mock_oauth_gcu.return_value = testing_helpers.Blank(
        email=lambda: '*****@*****.**')
  def setUp(self):
    self.cnxn = 'fake cnxn'
    self.config = tracker_bizobj.MakeDefaultProjectIssueConfig(789)
    self.services = service_manager.Services(
        user=fake.UserService(),
        usergroup=fake.UserGroupService(),
        project=fake.ProjectService(),
        issue=fake.IssueService(),
        config=fake.ConfigService(),
        cache_manager=fake.CacheManager())
    self.profiler = profiler.Profiler()
    self.services.user.TestAddUser('*****@*****.**', 111L)
    self.project = self.services.project.TestAddProject('proj', project_id=789)
    self.mr = testing_helpers.MakeMonorailRequest(
      path='/p/proj/issues/list?q=Priority:High',
      project=self.project)

    self.mox = mox.Mox()
    self.testbed = testbed.Testbed()
    self.testbed.activate()
    self.testbed.init_user_stub()
    self.testbed.init_memcache_stub()
Exemplo n.º 16
0
    def setUp(self):
        self.services = service_manager.Services(
            issue=fake.IssueService(),
            config=fake.ConfigService(),
            project=fake.ProjectService(),
            features=fake.FeaturesService(),
            user=fake.UserService())
        self.project = self.services.project.TestAddProject('ProjectName',
                                                            project_id=1,
                                                            owner_ids=[111])

        self.services.user.TestAddUser('*****@*****.**', 111)
        self.services.user.TestAddUser('*****@*****.**', 222)
        self.issue1 = fake.MakeTestIssue(1,
                                         1,
                                         'issue_summary',
                                         'New',
                                         111,
                                         project_name='ProjectName',
                                         labels='restrict-view-Googler')
        self.services.issue.TestAddIssue(self.issue1)
        self.issue3 = fake.MakeTestIssue(1,
                                         3,
                                         'issue_summary3',
                                         'New',
                                         222,
                                         project_name='ProjectName')
        self.services.issue.TestAddIssue(self.issue3)
        self.issue4 = fake.MakeTestIssue(1,
                                         4,
                                         'issue_summary4',
                                         'Fixed',
                                         222,
                                         closed_timestamp=232423,
                                         project_name='ProjectName')
        self.services.issue.TestAddIssue(self.issue4)
        self.issues = [self.issue1, self.issue3, self.issue4]
        self.mr = testing_helpers.MakeMonorailRequest()
Exemplo n.º 17
0
    def setUp(self):
        self.services = service_manager.Services(config=fake.ConfigService(),
                                                 issue=fake.IssueService(),
                                                 user=fake.UserService(),
                                                 project=fake.ProjectService())
        self.mr = testing_helpers.MakeMonorailRequest()

        issue1 = fake.MakeTestIssue(001,
                                    1,
                                    'issue_summary',
                                    'New',
                                    111L,
                                    project_name='project1',
                                    issue_id=1L)
        self.services.issue.TestAddIssue(issue1)
        issue2 = fake.MakeTestIssue(001,
                                    2,
                                    'issue_summary',
                                    'New',
                                    111L,
                                    project_name='project1',
                                    issue_id=2L)
        self.services.issue.TestAddIssue(issue2)
        issue3 = fake.MakeTestIssue(002,
                                    3,
                                    'issue_summary',
                                    'New',
                                    111L,
                                    project_name='project2',
                                    issue_id=3L)
        self.services.issue.TestAddIssue(issue3)
        ts = 20091111111111
        self.hotlist_item_fields = [(1L, 10, 111L, ts, ''),
                                    (2L, 20, 111L, ts, ''),
                                    (3L, 30, 111L, ts, '')]
        self.hotlist = fake.Hotlist('name', 123, self.hotlist_item_fields)
        self.hotlist_flipper = issuedetail._HotlistFlipper(
            self.services, profiler.Profiler(), self.hotlist)
Exemplo n.º 18
0
    def setUp(self):
        self.testbed = testbed.Testbed()
        self.testbed.activate()
        self.testbed.init_taskqueue_stub()
        self.taskqueue_stub = self.testbed.get_stub(
            testbed.TASKQUEUE_SERVICE_NAME)
        self.taskqueue_stub._root_path = os.path.dirname(
            os.path.dirname(os.path.dirname(__file__)))
        self.services = service_manager.Services(
            user=fake.UserService(),
            usergroup=fake.UserGroupService(),
            project=fake.ProjectService(),
            config=fake.ConfigService(),
            issue=fake.IssueService(),
            issue_star=fake.IssueStarService(),
            features=fake.FeaturesService())
        self.requester = self.services.user.TestAddUser(
            '*****@*****.**', 1)
        self.nonmember = self.services.user.TestAddUser('*****@*****.**', 2)
        self.member = self.services.user.TestAddUser('*****@*****.**', 3)
        self.project = self.services.project.TestAddProject('test-project',
                                                            owner_ids=[1, 3],
                                                            project_id=12345)
        self.issue1 = MakeTestIssue(project_id=12345,
                                    local_id=1,
                                    owner_id=2,
                                    reporter_id=1)
        self.issue2 = MakeTestIssue(project_id=12345,
                                    local_id=2,
                                    owner_id=2,
                                    reporter_id=1)
        self.services.issue.TestAddIssue(self.issue1)

        self._old_gcs_open = cloudstorage.open
        cloudstorage.open = fake.gcs_open
        self.orig_sign_attachment_id = attachment_helpers.SignAttachmentID
        attachment_helpers.SignAttachmentID = (lambda aid: 'signed_%d' % aid)
Exemplo n.º 19
0
  def setUp(self):
    self.mox = mox.Mox()
    self.testbed = testbed.Testbed()
    self.testbed.activate()
    self.testbed.init_memcache_stub()
    self.testbed.init_app_identity_stub()
    self.testbed.init_urlfetch_stub()
    self.attachment_data = ""

    self._old_gcs_open = cloudstorage.open
    cloudstorage.open = fake.gcs_open

    services = service_manager.Services(
        project=fake.ProjectService(),
        config=fake.ConfigService(),
        issue=fake.IssueService(),
        user=fake.UserService())
    self.project = services.project.TestAddProject('proj')
    self.servlet = issueattachment.AttachmentPage(
        'req', webapp2.Response(), services=services)
    services.user.TestAddUser('*****@*****.**', 111)
    self.issue = fake.MakeTestIssue(
        self.project.project_id, 1, 'summary', 'New', 111)
    services.issue.TestAddIssue(self.issue)
    self.comment = tracker_pb2.IssueComment(
        id=123, issue_id=self.issue.issue_id,
        project_id=self.project.project_id, user_id=111,
        content='this is a comment')
    services.issue.TestAddComment(self.comment, self.issue.local_id)
    self.attachment = tracker_pb2.Attachment(
        attachment_id=54321, filename='hello.txt', filesize=23432,
        mimetype='text/plain', gcs_object_id='/pid/attachments/object_id')
    services.issue.TestAddAttachment(
        self.attachment, self.comment.id, self.issue.issue_id)
    self.orig_sign_attachment_id = attachment_helpers.SignAttachmentID
    attachment_helpers.SignAttachmentID = (
        lambda aid: 'signed_%d' % aid)
Exemplo n.º 20
0
    def setUp(self):
        self.services = service_manager.Services(
            issue=fake.IssueService(),
            features=fake.FeaturesService(),
            issue_star=fake.AbstractStarService(),
            config=fake.ConfigService(),
            project=fake.ProjectService(),
            user=fake.UserService(),
            cache_manager=fake.CacheManager())
        self.services.project.TestAddProject('ProjectName', project_id=001)

        self.services.user.TestAddUser('*****@*****.**', 111L)
        self.services.user.TestAddUser('*****@*****.**', 222L)
        issue1 = fake.MakeTestIssue(001,
                                    1,
                                    'issue_summary',
                                    'New',
                                    111L,
                                    project_name='ProjectName')
        self.services.issue.TestAddIssue(issue1)
        issue2 = fake.MakeTestIssue(001,
                                    2,
                                    'issue_summary2',
                                    'New',
                                    111L,
                                    project_name='ProjectName')
        self.services.issue.TestAddIssue(issue2)
        issue3 = fake.MakeTestIssue(001,
                                    3,
                                    'issue_summary3',
                                    'New',
                                    222L,
                                    project_name='ProjectName')
        self.services.issue.TestAddIssue(issue3)
        issues = [issue1, issue2, issue3]
        hotlist_items = [(issue.issue_id, rank, 222L, None, '')
                         for rank, issue in enumerate(issues)]
Exemplo n.º 21
0
    def setUp(self):
        self.testbed = testbed.Testbed()
        self.testbed.activate()
        self.testbed.init_memcache_stub()

        self.mox = mox.Mox()
        self.cnxn = self.mox.CreateMock(sql.MonorailConnection)
        self.services = service_manager.Services()
        self.config_service = fake.ConfigService()
        self.services.config = self.config_service
        self.services.chart = MakeChartService(self.mox, self.config_service)
        self.mox.StubOutWithMock(self.services.chart, '_QueryToWhere')
        self.mox.StubOutWithMock(search_helpers, 'GetPersonalAtRiskLabelIDs')
        self.mox.StubOutWithMock(settings, 'num_logical_shards')
        settings.num_logical_shards = 1
        self.mox.StubOutWithMock(self.services.chart, '_currentTime')

        self.defaultLeftJoins = [
            ('Issue ON IssueSnapshot.issue_id = Issue.id', []),
            ('Issue2Label AS Forbidden_label'
             ' ON Issue.id = Forbidden_label.issue_id'
             ' AND Forbidden_label.label_id IN (%s,%s)', [91, 81]),
            ('Issue2Cc AS I2cc'
             ' ON Issue.id = I2cc.issue_id'
             ' AND I2cc.cc_id IN (%s,%s)', [10L, 20L]),
        ]
        self.defaultWheres = [
            ('IssueSnapshot.period_start <= %s', [1514764800]),
            ('IssueSnapshot.period_end > %s', [1514764800]),
            ('IssueSnapshot.project_id = %s', [789]),
            ('Issue.is_spam = %s', [False]),
            ('Issue.deleted = %s', [False]),
            ('(Issue.reporter_id IN (%s,%s)'
             ' OR Issue.owner_id IN (%s,%s)'
             ' OR I2cc.cc_id IS NOT NULL'
             ' OR Forbidden_label.label_id IS NULL)', [10L, 20L, 10L, 20L]),
        ]
Exemplo n.º 22
0
    def setUp(self):
        self.services = service_manager.Services(project=fake.ProjectService(),
                                                 config=fake.ConfigService(),
                                                 issue=fake.IssueService(),
                                                 user=fake.UserService())
        self.servlet = issueoriginal.IssueOriginal('req',
                                                   'res',
                                                   services=self.services)

        self.proj = self.services.project.TestAddProject('proj',
                                                         project_id=789)
        summary = 'System wont boot'
        status = 'New'
        cnxn = 'fake connection'
        self.services.user.TestAddUser('*****@*****.**', 222)
        self.local_id_1, _ = self.services.issue.CreateIssue(
            cnxn, self.services, 789, summary, status, 111, [], [], [], [],
            111, 'The screen is just dark when I press power on')
        _amendments, comment_0 = self.services.issue.ApplyIssueComment(
            cnxn,
            self.services,
            222,
            789,
            1,
            summary,
            status,
            222, [], [], [], [], [], [], [], [],
            0,
            comment=STRIPPED_MSG,
            inbound_message=ORIG_MSG)
        _amendments, comment_1 = self.services.issue.ApplyIssueComment(
            cnxn,
            self.services,
            222,
            789,
            1,
            summary,
            status,
            222, [], [], [], [], [], [], [], [],
            None,
            comment=STRIPPED_MSG,
            inbound_message=BAD_UNICODE_MSG)
        _amendments, comment_2 = self.services.issue.ApplyIssueComment(
            cnxn,
            self.services,
            222,
            789,
            1,
            summary,
            status,
            222, [], [], [], [], [], [], [], [],
            0,
            comment=STRIPPED_MSG,
            inbound_message=GMAIL_CRUFT_MSG)
        _amendments, comment_3 = self.services.issue.ApplyIssueComment(
            cnxn,
            self.services,
            222,
            789,
            1,
            summary,
            status,
            222, [], [], [], [], [], [], [], [],
            0,
            comment=STRIPPED_MSG,
            inbound_message=GOOD_UNICODE_MSG)
        self.issue_1 = self.services.issue.GetIssueByLocalID(
            cnxn, 789, self.local_id_1)
        self.comments = [comment_0, comment_1, comment_2, comment_3]
Exemplo n.º 23
0
    def setUp(self):
        self.cnxn = 'fake cnxn'
        self.services = service_manager.Services(
            project=fake.ProjectService(),
            config=fake.ConfigService(),
            template=Mock(spec=template_svc.TemplateService),
            user=fake.UserService())
        self.servlet = templatecreate.TemplateCreate('req',
                                                     'res',
                                                     services=self.services)
        self.project = self.services.project.TestAddProject('proj')

        self.fd_1 = tracker_bizobj.MakeFieldDef(
            1,
            self.project.project_id,
            'StringFieldName',
            tracker_pb2.FieldTypes.STR_TYPE,
            None,
            '',
            False,
            False,
            False,
            None,
            None,
            '',
            False,
            '',
            '',
            tracker_pb2.NotifyTriggers.NEVER,
            'no_action',
            'some approval thing',
            False,
            approval_id=2)

        self.fd_2 = tracker_bizobj.MakeFieldDef(
            2, self.project.project_id, 'UXApproval',
            tracker_pb2.FieldTypes.APPROVAL_TYPE, None, '', False, False,
            False, None, None, '', False, '', '',
            tracker_pb2.NotifyTriggers.NEVER, 'no_action',
            'Approval for UX review', False)
        self.fd_3 = tracker_bizobj.MakeFieldDef(
            3, self.project.project_id, 'TestApproval',
            tracker_pb2.FieldTypes.APPROVAL_TYPE, None, '', False, False,
            False, None, None, '', False, '', '',
            tracker_pb2.NotifyTriggers.NEVER, 'no_action',
            'Approval for Test review', False)
        self.fd_4 = tracker_bizobj.MakeFieldDef(
            4,
            self.project.project_id,
            'Target',
            tracker_pb2.FieldTypes.INT_TYPE,
            None,
            '',
            False,
            False,
            False,
            None,
            None,
            '',
            False,
            '',
            '',
            tracker_pb2.NotifyTriggers.NEVER,
            'no_action',
            'milestone target',
            False,
            is_phase_field=True)
        ad_2 = tracker_pb2.ApprovalDef(approval_id=2)
        ad_3 = tracker_pb2.ApprovalDef(approval_id=3)

        self.config = self.services.config.GetProjectConfig(
            'fake cnxn', self.project.project_id)
        self.config.approval_defs.extend([ad_2, ad_3])
        self.config.field_defs.extend(
            [self.fd_1, self.fd_2, self.fd_3, self.fd_4])

        first_tmpl = tracker_bizobj.MakeIssueTemplate('sometemplate',
                                                      'summary', None, None,
                                                      'content', [], [], [],
                                                      [])
        self.services.config.StoreConfig(None, self.config)

        templates = testing_helpers.DefaultTemplates()
        templates.append(first_tmpl)
        self.services.template.GetProjectTemplates = Mock(
            return_value=templates)

        self.mr = testing_helpers.MakeMonorailRequest(
            project=self.project, perms=permissions.OWNER_ACTIVE_PERMISSIONSET)
        self.mox = mox.Mox()
Exemplo n.º 24
0
    def setUp(self):
        self.cnxn = 'fake cnxn'
        mock_template_service = Mock(spec=template_svc.TemplateService)
        self.services = service_manager.Services(
            project=fake.ProjectService(),
            config=fake.ConfigService(),
            template=mock_template_service,
            usergroup=fake.UserGroupService(),
            user=fake.UserService())
        self.servlet = templatedetail.TemplateDetail('req',
                                                     'res',
                                                     services=self.services)

        self.services.user.TestAddUser('*****@*****.**', 111)
        self.services.user.TestAddUser('*****@*****.**', 222)
        self.services.user.TestAddUser('*****@*****.**', 111)
        self.services.user.TestAddUser('*****@*****.**', 333)

        self.project = self.services.project.TestAddProject('proj')
        self.services.project.TestAddProjectMembers([333], self.project,
                                                    'CONTRIBUTOR_ROLE')

        self.template = self.test_template = tracker_bizobj.MakeIssueTemplate(
            'TestTemplate',
            'sum',
            'New',
            111,
            'content', ['label1', 'label2'], [], [222], [],
            summary_must_be_edited=True,
            owner_defaults_to_member=True,
            component_required=False,
            members_only=False)
        self.template.template_id = 12345
        self.services.template.GetTemplateByName = Mock(
            return_value=self.template)

        self.mr = testing_helpers.MakeMonorailRequest(project=self.project)
        self.mr.template_name = 'TestTemplate'

        self.mox = mox.Mox()

        self.fd_1 = tracker_bizobj.MakeFieldDef(
            1,
            789,
            'UXReview',
            tracker_pb2.FieldTypes.STR_TYPE,
            None,
            '',
            False,
            False,
            False,
            None,
            None,
            '',
            False,
            '',
            '',
            tracker_pb2.NotifyTriggers.NEVER,
            'no_action',
            'Approval for UX review',
            False,
            approval_id=2)
        self.fd_2 = tracker_bizobj.MakeFieldDef(
            2, 789, 'UXReview', tracker_pb2.FieldTypes.STR_TYPE, None, '',
            False, False, False, None, None, '', False, '', '',
            tracker_pb2.NotifyTriggers.NEVER, 'no_action',
            'Approval for UX review', False)
        self.fd_3 = tracker_bizobj.MakeFieldDef(
            3, 789, 'TestApproval', tracker_pb2.FieldTypes.APPROVAL_TYPE, None,
            '', False, False, False, None, None, '', False, '', '',
            tracker_pb2.NotifyTriggers.NEVER, 'no_action', 'Approval for Test',
            False)
        self.fd_4 = tracker_bizobj.MakeFieldDef(
            4, 789, 'SecurityApproval', tracker_pb2.FieldTypes.APPROVAL_TYPE,
            None, '', False, False, False, None, None, '', False, '', '',
            tracker_pb2.NotifyTriggers.NEVER, 'no_action',
            'Approval for Security', False)
        self.fd_5 = tracker_bizobj.MakeFieldDef(
            5,
            789,
            'GateTarget',
            tracker_pb2.FieldTypes.INT_TYPE,
            None,
            '',
            False,
            False,
            False,
            None,
            None,
            '',
            False,
            '',
            '',
            tracker_pb2.NotifyTriggers.NEVER,
            'no_action',
            'milestone target',
            False,
            is_phase_field=True)
        self.fd_6 = tracker_bizobj.MakeFieldDef(
            6,
            789,
            'Choices',
            tracker_pb2.FieldTypes.ENUM_TYPE,
            None,
            '',
            False,
            False,
            False,
            None,
            None,
            '',
            False,
            '',
            '',
            tracker_pb2.NotifyTriggers.NEVER,
            'no_action',
            'milestone target',
            False,
            is_phase_field=True)

        self.ad_3 = tracker_pb2.ApprovalDef(approval_id=3)
        self.ad_4 = tracker_pb2.ApprovalDef(approval_id=4)

        self.cd_1 = tracker_bizobj.MakeComponentDef(1, 789, 'BackEnd', 'doc',
                                                    False, [111], [], 100000,
                                                    222)
        self.template.component_ids.append(1)

        self.canary_phase = tracker_pb2.Phase(name='Canary',
                                              phase_id=1,
                                              rank=1)
        self.av_3 = tracker_pb2.ApprovalValue(approval_id=3, phase_id=1)
        self.stable_phase = tracker_pb2.Phase(name='Stable',
                                              phase_id=2,
                                              rank=3)
        self.av_4 = tracker_pb2.ApprovalValue(approval_id=4, phase_id=2)
        self.template.phases.extend([self.stable_phase, self.canary_phase])
        self.template.approval_values.extend([self.av_3, self.av_4])

        self.config = self.services.config.GetProjectConfig(
            'fake cnxn', self.project.project_id)
        self.templates = testing_helpers.DefaultTemplates()
        self.template.labels.extend([
            'GateTarget-Should-Not', 'GateTarget-Be-Masked', 'Choices-Wrapped',
            'Choices-Burritod'
        ])
        self.templates.append(self.template)
        self.services.template.GetProjectTemplates = Mock(
            return_value=self.templates)
        self.services.template.FindTemplateByName = Mock(
            return_value=self.template)
        self.config.component_defs.append(self.cd_1)
        self.config.field_defs.extend(
            [self.fd_1, self.fd_2, self.fd_3, self.fd_4, self.fd_5, self.fd_6])
        self.config.approval_defs.extend([self.ad_3, self.ad_4])
        self.services.config.StoreConfig(None, self.config)
Exemplo n.º 25
0
        issue.project_name = 'proj'
        issue.local_id = 1
        issue.summary = 'sum'
        issue.status = 'New'
        issue.owner_id = 111L
        issue.cc_ids.extend([222L, 333L])
        issue.labels.extend(['Type-Defect', 'Priority-Medium', 'Hot'])

        if exp_cc_ids is None:
            exp_cc_ids = [222L, 333L]
        if exp_labels is None:
            exp_labels = ['Type-Defect', 'Priority-Medium', 'Hot']

        config = tracker_bizobj.MakeDefaultProjectIssueConfig(789)
        logged_in_user_id = 999L
        services = service_manager.Services(config=fake.ConfigService(),
                                            issue=fake.IssueService(),
                                            user=fake.UserService())
        services.user.TestAddUser('jrobbins', 333L)
        services.user.TestAddUser('*****@*****.**', 888L)

        cnxn = 'fake cnxn'
        (summary, status, owner_id, cc_ids,
         labels) = commands.ParseQuickEditCommand(cnxn, cmd, issue, config,
                                                  logged_in_user_id, services)
        self.assertEqual(exp_summary, summary)
        self.assertEqual(exp_status, status)
        self.assertEqual(exp_owner_id, owner_id)
        self.assertListEqual(exp_cc_ids, cc_ids)
        self.assertListEqual(exp_labels, labels)