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)
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)
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')
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
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'
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()
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
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)
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)
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)
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)
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()
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()
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)
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)
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)
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)]
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]), ]
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]
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()
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)
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)