Exemplo n.º 1
0
  def testGetStarredIssues_CrossProject(self):
    services = service_manager.Services(
        config=fake.ConfigService(),
        issue=fake.IssueService(),
        issue_star=fake.IssueStarService())
    project = fake.Project(project_name='proj', project_id=789)
    mr = testing_helpers.MakeMonorailRequest(
        project=project, user_info={'user_id': 111L})
    mr.query = 'project=proj,otherproj'

    # User has not starred anything yet.
    self.assertEqual(set(), issuelist._GetStarredIssues(
        mr.cnxn, mr.auth.user_id, services))

    # User starred 2 issues in 1 project, and 1 in another project.
    # Other users have also starred stuff.
    cnxn = 'fake connection'
    config = services.config.GetProjectConfig(cnxn, project.project_id)
    services.issue_star.SetStar(
        cnxn, services, config, 100001, 111L, True)
    services.issue_star.SetStar(
        cnxn, services, config, 100002, 111L, True)
    services.issue_star.SetStar(
        cnxn, services, config, 100002, 999L, True)
    services.issue_star.SetStar(
        cnxn, services, config, 100099, 999L, True)
    services.issue_star.SetStar(
        cnxn, services, config, 200001, 111L, True)
    services.issue_star.SetStar(
        cnxn, services, config, 200001, 999L, True)
    services.issue_star.SetStar(
        cnxn, services, config, 200099, 999L, True)
    self.assertEqual(
        {100001, 100002, 200001},
        issuelist._GetStarredIssues(mr.cnxn, mr.auth.user_id, services))
Exemplo n.º 2
0
  def setUp(self):
    self.services = service_manager.Services(
        features=fake.FeaturesService(),
        project=fake.ProjectService(),
        config=fake.ConfigService(),
        issue=fake.IssueService(),
        issue_star=fake.IssueStarService(),
        user=fake.UserService(),
        usergroup=fake.UserGroupService())
    self.servlet = issuebulkedit.IssueBulkEdit(
        'req', 'res', services=self.services)
    self.mr = testing_helpers.MakeMonorailRequest(
        perms=permissions.OWNER_ACTIVE_PERMISSIONSET)
    self.project = self.services.project.TestAddProject(
        name='proj', project_id=789, owner_ids=[111])
    self.cnxn = 'fake connection'
    self.config = self.services.config.GetProjectConfig(
        self.cnxn, self.project.project_id)
    self.services.config.StoreConfig(self.cnxn, self.config)
    self.owner = self.services.user.TestAddUser('*****@*****.**', 111)

    self.testbed = testbed.Testbed()
    self.testbed.activate()
    self.testbed.init_taskqueue_stub()
    self.testbed.init_memcache_stub()
    self.testbed.init_datastore_v3_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.mocked_methods = {}
Exemplo n.º 3
0
    def setUp(self):
        self.services = service_manager.Services(
            project=fake.ProjectService(),
            config=fake.ConfigService(),
            usergroup=fake.UserGroupService(),
            issue=fake.IssueService(),
            issue_star=fake.IssueStarService(),
            cache_manager=fake.CacheManager(),
            features=fake.FeaturesService(),
            user=fake.UserService())
        self.servlet = issuelist.IssueList('req',
                                           'res',
                                           services=self.services)
        self.project = self.services.project.TestAddProject('proj')
        self.issue1 = fake.MakeTestIssue(1,
                                         1,
                                         'issue_summary',
                                         'New',
                                         111,
                                         project_name='proj')
        self.services.issue.TestAddIssue(self.issue1)
        self.mr = testing_helpers.MakeMonorailRequest(project=self.project)
        self.mr.project_name = self.project.project_name
        self.mr.auth.effective_ids = {111}
        self.mr.me_user_id = 111

        self.testbed = testbed.Testbed()
        self.testbed.activate()
        self.testbed.init_memcache_stub()
        self.testbed.init_datastore_v3_stub()
Exemplo n.º 4
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.services.user.TestAddUser('*****@*****.**', 1)
        self.services.user.TestAddUser('*****@*****.**', 2)
        self.services.user.TestAddUser('*****@*****.**', 3)
        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.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.º 5
0
    def setUp(self):
        self.project_service = fake.ProjectService()
        self.issue_service = fake.IssueService()
        self.issue_star_service = fake.IssueStarService()
        self.config_service = fake.ConfigService()
        self.features_service = fake.FeaturesService()
        self.project_star_service = fake.ProjectStarService()
        self.services = service_manager.Services(
            project=self.project_service,
            issue=self.issue_service,
            issue_star=self.issue_star_service,
            config=self.config_service,
            features=self.features_service,
            project_star=self.project_star_service,
            template=Mock(spec=template_svc.TemplateService),
            user=fake.UserService(),
            usergroup=fake.UserGroupService())

        self.proj1_id = 1001
        self.proj1_issue_id = 111
        self.proj1 = self.project_service.TestAddProject(
            name='proj1', project_id=self.proj1_id)
        self.proj2_id = 1002
        self.proj2_issue_id = 112
        self.proj2 = self.project_service.TestAddProject(
            name='proj2', project_id=self.proj2_id)

        self.mox = mox.Mox()
        self.cnxn = self.mox.CreateMock(sql.MonorailConnection)
        self.project_service.project_tbl = self.mox.CreateMock(
            sql.SQLTableManager)
        self.issue_service.issue_tbl = self.mox.CreateMock(sql.SQLTableManager)
Exemplo n.º 6
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(),
         issue_star=fake.IssueStarService(),
         user=fake.UserService(),
         usergroup=fake.UserGroupService(),
         features=fake.FeaturesService(),
         spam=fake.SpamService())
     self.services.user.TestAddUser('*****@*****.**', 111)
     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', 111, [], [],
         [], [], 111, 'The screen is just dark when I press power on')
Exemplo n.º 7
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.services.user.TestAddUser('*****@*****.**', 1)
     self.services.user.TestAddUser('*****@*****.**', 2)
     self.services.user.TestAddUser('*****@*****.**', 3)
     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.services.issue.TestAddIssue(self.issue1)
Exemplo n.º 8
0
 def setUp(self):
   self.testbed = testbed.Testbed()
   self.testbed.activate()
   self.testbed.init_memcache_stub()
   self.testbed.init_datastore_v3_stub()
   self.services = service_manager.Services(
       issue_star=fake.IssueStarService(),
       config=fake.ConfigService(),
       user=fake.UserService(),
       issue=fake.IssueService(),
       project=fake.ProjectService(),
       cache_manager=fake.CacheManager(),
       features=fake.FeaturesService())
   self.servlet = hotlistissuescsv.HotlistIssuesCsv(
       'req', webapp2.Response(), services=self.services)
   self.user1 = self.services.user.TestAddUser('*****@*****.**', 111)
   self.user2 = self.services.user.TestAddUser('*****@*****.**', 222)
   self.services.project.TestAddProject('project-name', project_id=1)
   self.issue1 = fake.MakeTestIssue(
       1, 1, 'issue_summary', 'New', 111, project_name='project-name')
   self.services.issue.TestAddIssue(self.issue1)
   self.issues = [self.issue1]
   self.hotlist_item_fields = [
       (issue.issue_id, rank, 111, 1205079300, '') for
       rank, issue in enumerate(self.issues)]
   self.hotlist = self.services.features.TestAddHotlist(
       'MyHotlist', hotlist_id=123, owner_ids=[222], editor_ids=[111],
       hotlist_item_fields=self.hotlist_item_fields)
   self._MakeMR('/u/222/hotlists/MyHotlist')
   sorting.InitializeArtValues(self.services)
Exemplo n.º 9
0
 def setUp(self):
   self.services = service_manager.Services(
       user=fake.UserService(),
       issue=fake.IssueService(),
       project=fake.ProjectService(),
       config=fake.ConfigService(),
       issue_star=fake.IssueStarService())
   self.services.user.TestAddUser('*****@*****.**', 111)
   self.person_1 = api_pb2_v1_helpers.convert_person(111, None, self.services)
Exemplo n.º 10
0
def MakeFakeServiceManager():
  return 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(),
      cache_manager=fake.CacheManager())
Exemplo n.º 11
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(),
         issue_star=fake.IssueStarService(),
         spam=fake.SpamService())
     self.project = self.services.project.TestAddProject('proj',
                                                         project_id=987)
     self.servlet = issuererank.IssueRerank('req', 'res', self.services)
     self.mox = mox.Mox()
Exemplo n.º 12
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(),
         issue_star=fake.IssueStarService())
     self.project = self.services.project.TestAddProject('proj',
                                                         project_id=987)
     self.servlet = issuedetail.IssueCommentDeletion('req',
                                                     'res',
                                                     services=self.services)
Exemplo n.º 13
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(),
         issue_star=fake.IssueStarService(),
         spam=fake.SpamService())
     self.project = self.services.project.TestAddProject('proj',
                                                         project_id=987)
     self.config = tracker_pb2.ProjectIssueConfig()
     self.config.statuses_offer_merge.append('Duplicate')
     self.services.config.StoreConfig(self.cnxn, self.config)
Exemplo n.º 14
0
 def setUp(self):
     self.testbed = testbed.Testbed()
     self.testbed.activate()
     self.testbed.init_memcache_stub()
     self.testbed.init_datastore_v3_stub()
     self.services = service_manager.Services(
         issue_star=fake.IssueStarService(),
         config=fake.ConfigService(),
         user=fake.UserService(),
         issue=fake.IssueService(),
         project=fake.ProjectService(),
         features=fake.FeaturesService(),
         cache_manager=fake.CacheManager(),
         hotlist_star=fake.HotlistStarService())
     self.servlet = hotlistissues.HotlistIssues('req',
                                                'res',
                                                services=self.services)
     self.user1 = self.services.user.TestAddUser('*****@*****.**', 111L)
     self.user2 = self.services.user.TestAddUser(
         '*****@*****.**',
         222L,
     )
     self.services.project.TestAddProject('project-name', project_id=001)
     self.issue1 = fake.MakeTestIssue(001,
                                      1,
                                      'issue_summary',
                                      'New',
                                      111L,
                                      project_name='project-name')
     self.services.issue.TestAddIssue(self.issue1)
     self.issue2 = fake.MakeTestIssue(001,
                                      2,
                                      'issue_summary2',
                                      'New',
                                      111L,
                                      project_name='project-name')
     self.services.issue.TestAddIssue(self.issue2)
     self.issue3 = fake.MakeTestIssue(001,
                                      3,
                                      'issue_summary3',
                                      'New',
                                      222L,
                                      project_name='project-name')
     self.services.issue.TestAddIssue(self.issue3)
     self.issues = [self.issue1, self.issue2, self.issue3]
     self.hotlist_item_fields = [(issue.issue_id, rank, 111L, 1205079300,
                                  '')
                                 for rank, issue in enumerate(self.issues)]
Exemplo n.º 15
0
  def setUp(self):
    self.testbed = testbed.Testbed()
    self.testbed.activate()
    self.testbed.init_memcache_stub()
    self.testbed.init_datastore_v3_stub()
    self.services = service_manager.Services(
        issue_star=fake.IssueStarService(),
        config=fake.ConfigService(),
        user=fake.UserService(),
        issue=fake.IssueService(),
        project=fake.ProjectService(),
        features=fake.FeaturesService(),
        cache_manager=fake.CacheManager(),
        hotlist_star=fake.HotlistStarService())
    self.servlet = hotlistissues.HotlistIssues(
        'req', 'res', services=self.services)
    self.user1 = self.services.user.TestAddUser('*****@*****.**', 111)
    self.user2 = self.services.user.TestAddUser('*****@*****.**', 222, )
    self.services.project.TestAddProject('project-name', project_id=1)
    self.issue1 = fake.MakeTestIssue(
        1, 1, 'issue_summary', 'New', 111, project_name='project-name')
    self.services.issue.TestAddIssue(self.issue1)
    self.issue2 = fake.MakeTestIssue(
        1, 2, 'issue_summary2', 'New', 111, project_name='project-name')
    self.services.issue.TestAddIssue(self.issue2)
    self.issue3 = fake.MakeTestIssue(
        1, 3, 'issue_summary3', 'New', 222, project_name='project-name')
    self.services.issue.TestAddIssue(self.issue3)
    self.issues = [self.issue1, self.issue2, self.issue3]
    self.hotlist_item_fields = [
        (issue.issue_id, rank, 111, 1205079300, '') for
        rank, issue in enumerate(self.issues)]
    self.test_hotlist = self.services.features.TestAddHotlist(
        'hotlist', hotlist_id=123, owner_ids=[222], editor_ids=[111],
        hotlist_item_fields=self.hotlist_item_fields)
    self.hotlistissues = self.test_hotlist.items
    # Unless perms is specified,
    # MakeMonorailRequest will return an mr with admin permissions.
    self.mr = testing_helpers.MakeMonorailRequest(
        hotlist=self.test_hotlist, path='/u/222/hotlists/123',
        services=self.services, perms=permissions.EMPTY_PERMISSIONSET)
    self.mr.hotlist_id = self.test_hotlist.hotlist_id
    self.mr.auth.user_id = 111
    self.mr.auth.effective_ids = {111}
    self.mr.viewed_user_auth.user_id = 111
    sorting.InitializeArtValues(self.services)

    self.mox = mox.Mox()
Exemplo n.º 16
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(),
         issue_star=fake.IssueStarService(),
         spam=fake.SpamService())
     self.services.project.TestAddProject('proj', project_id=789)
     self.mr = testing_helpers.MakeMonorailRequest()
     self.mr.auth.user_id = 111
     self.mr.auth.effective_ids = {111}
     self.mr.me_user_id = 111
     self.work_env = work_env.WorkEnv(self.mr, self.services,
                                      'Testing phase')
Exemplo n.º 17
0
 def setUp(self):
     self.project_name = 'proj'
     self.project_id = 987
     self.cnxn = 'fake cnxn'
     self.services = service_manager.Services(
         config=fake.ConfigService(),
         issue=fake.IssueService(),
         issue_star=fake.IssueStarService(),
         project=fake.ProjectService(),
         user=fake.UserService())
     self.project = self.services.project.TestAddProject(
         'proj', project_id=987, committer_ids=[111L])
     self.servlet = issuedetail.IssueDetail('req',
                                            'res',
                                            services=self.services)
     self.mox = mox.Mox()
Exemplo n.º 18
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.º 19
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.º 20
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.º 21
0
  def testGetStarredIssues_Anon(self):
    services = service_manager.Services(issue_star=fake.IssueStarService())
    mr = testing_helpers.MakeMonorailRequest()

    self.assertEqual(set(), issuelist._GetStarredIssues(
        mr.cnxn, mr.auth.user_id, services))