Esempio n. 1
0
 def test_run_with_reopening_existing_parent_issue(self, *args):
     """
 Test JiraManager.run on reopening a parent issue.
 Expect: jira.reopen_issue is called once.
 """
     dep_name = 'group0:artifact0'
     dep_latest_version = '1.0'
     owners_yaml = """
               deps:
                 group0:artifact0:
                   group: group0
                   artifact: artifact0
                   owners: owner0
               """
     summary = self._get_experct_summary('group0', None)
     description = self._get_expected_description(dep_name,
                                                  dep_latest_version, [])
     with patch('__builtin__.open', mock_open(read_data=owners_yaml)):
         with patch('jira_utils.jira_manager.JiraManager._search_issues',
                    side_effect=[[
                        MockedJiraIssue('BEAM-1000', summary, description,
                                        'Closed')
                    ], []]):
             manager = JiraManager('url', 'username', 'password',
                                   owners_yaml)
             manager.run(dep_name,
                         dep_latest_version,
                         sdk_type='Java',
                         group_id='group0')
             manager.jira.reopen_issue.assert_called_once()
Esempio n. 2
0
    def test_run_with_updating_existing_task(self, *args):
        """
    Test JiraManager.run on updating an existing issue.
    Expect: jira.update_issue is called once.
    """
        dep_name = 'dep0'
        dep_latest_version = '1.0'
        owners_yaml = """
                  deps:
                    dep0:
                      owners:
                  """
        summary = self._get_experct_summary(dep_name, dep_latest_version)
        description = self._get_expected_description(dep_name,
                                                     dep_latest_version, [])

        with patch('__builtin__.open', mock_open(read_data=owners_yaml)):
            with patch('jira_utils.jira_manager.JiraManager._search_issues',
                       return_value=[
                           MockedJiraIssue('BEAM-1000', summary, description,
                                           'Open')
                       ]):
                manager = JiraManager('url', 'username', 'password',
                                      owners_yaml)
                manager.run(dep_name, dep_latest_version, 'Python')
                manager.jira.update_issue.assert_called_once()
Esempio n. 3
0
 def test_run_with_reopening_issue_with_new_release_available(self, *args):
     """
 Test JiraManager.run that reopens an issue once 3 versions releases after 6
 months since previous closure.
 Expect: jira.reopen_issue is called once.
 """
     dep_name = 'dep0'
     issue_closed_version = '1.0'
     dep_latest_version = '1.3'
     owners_yaml = """
                 deps:
                   dep0:
                     owners:
                 """
     summary = self._get_experct_summary(dep_name)
     description = self._get_expected_description(dep_name,
                                                  issue_closed_version, [])
     with patch('__builtin__.open', mock_open(read_data=owners_yaml)):
         with patch('jira_utils.jira_manager.JiraManager._search_issues',
                    side_effect=[[
                        MockedJiraIssue('BEAM-1000', summary, description,
                                        'Closed')
                    ], []]):
             manager = JiraManager('url', 'username', 'password',
                                   owners_yaml)
             manager.run(dep_name, MOCKED_DEP_CURRENT_VERSION,
                         dep_latest_version, 'Python')
             manager.jira.reopen_issue.assert_called_once()
Esempio n. 4
0
 def test_run_with_reopening_issue_with_fixversions(self, *args):
     """
 Test JiraManager.run on reopening an issue when JIRA fixVersions hits the release version.
 Expect: jira.reopen_issue is called once.
 """
     dep_name = 'dep0'
     owners_yaml = """
               deps:
                 dep0:
                   owners:
               """
     summary = self._get_experct_summary(dep_name)
     description = self._get_expected_description(
         dep_name, MOCKED_DEP_LATEST_VERSION, [])
     with patch('__builtin__.open', mock_open(read_data=owners_yaml)):
         with patch('jira_utils.jira_manager.JiraManager._search_issues',
                    side_effect=[[
                        MockedJiraIssue('BEAM-1000', summary, description,
                                        'Closed')
                    ], []]):
             manager = JiraManager('url', 'username', 'password',
                                   owners_yaml)
             manager.run(dep_name, MOCKED_DEP_CURRENT_VERSION,
                         MOCKED_DEP_LATEST_VERSION, 'Python')
             manager.jira.reopen_issue.assert_called_once()
 def __init__(self):
     meta_db = config['ora_dcm']
     connection_string = "{0}/{1}@{2}:{3}/{4}".format(
         meta_db['user'], meta_db['pwd'], meta_db['host'], meta_db['port'],
         meta_db['sid'])
     self.db_manager = DBManager(connection_string)
     self.jira = JiraManager(config['jira'])
     schedule.every(1).minute.do(self.__job)
Esempio n. 6
0
def sync_issue(issue_code: str):
    """ Reads the given issue from Jira and transfers to Notion """
    my_config = Config()
    my_jira_manager = JiraManager(my_config)
    my_notion_manager = NotionManager(my_config)

    issue = my_jira_manager.get_issue(issue_code)
    my_notion_manager.create_page(issue, my_jira_manager)
    sys.exit(0)
Esempio n. 7
0
 def test_find_owners_with_no_dep_defined(self, *args):
     """
 Test on _find_owners with non-defined dep.
 Expect: through out KeyErrors. The primary owner is None, an empty list of other owners.
 """
     owners_yaml = """
               deps:
                 dep0:
                   owners:
               """
     with patch('__builtin__.open', mock_open(read_data=owners_yaml)):
         manager = JiraManager('url', 'username', 'password', owners_yaml)
         primary, owners = manager._find_owners('dep1')
         self.assertIsNone(primary)
         self.assertEqual(len(owners), 0)
Esempio n. 8
0
 def test_find_owners_with_single_owner(self, *args):
     """
 Test on _find_owners with single owner
 Expect: the primary owner is 'owner0', an empty list of other owners.
 """
     owners_yaml = """
               deps:
                 dep0:
                   owners: owner0,
               """
     with patch('__builtin__.open', mock_open(read_data=owners_yaml)):
         manager = JiraManager('url', 'username', 'password', owners_yaml)
         primary, owners = manager._find_owners('dep0')
         self.assertEqual(primary, 'owner0')
         self.assertEqual(len(owners), 0)
Esempio n. 9
0
 def test_find_owners_with_multi_owners(self, *args):
     """
 Test on _find_owners with multiple owners.
 Expect: the primary owner is 'owner0', a list contains 'owner1' and 'owner2'.
 """
     owners_yaml = """
               deps:
                 dep0:
                   owners: owner0, owner1 , owner2,
               """
     with patch('__builtin__.open', mock_open(read_data=owners_yaml)):
         manager = JiraManager('url', 'username', 'password', owners_yaml)
         primary, owners = manager._find_owners('dep0')
         self.assertEqual(primary, 'owner0')
         self.assertEqual(len(owners), 2)
         self.assertIn('owner1', owners)
         self.assertIn('owner2', owners)
Esempio n. 10
0
 def test_run_with_creating_new_issue(self, *args):
     """
 Test JiraManager.run on creating a new issue.
 Expect: jira.create_issue is called once with certain parameters.
 """
     owners_yaml = """
               deps:
                 dep0:
                   owners: owner0, owner1 , owner2,
               """
     with patch('__builtin__.open', mock_open(read_data=owners_yaml)):
         manager = JiraManager('url', 'username', 'password', owners_yaml)
         manager.run('dep0', '1.0', 'Python')
         manager.jira.create_issue.assert_called_once_with(
             self._get_experct_summary('dep0', '1.0'), ['dependencies'],
             self._get_expected_description('dep0', '1.0',
                                            ['owner1', 'owner2']),
             assignee='owner0')
Esempio n. 11
0
def main():
    jira = JiraManager()
    jira_connection = jira.start_connection()
    issues_of_proj = jira.get_issues_of_proj(jira_connection)

    sprint_name = jira.get_sprint_name(jira_connection, issues_of_proj[0])
    report = Report()
    tasks, developers = report.parse_issues_and_developers(issues_of_proj)
    tasks_per_developer = report.get_issues_per_developer(tasks, developers)

    start_date = date.today() + timedelta(
        7)  #It does not exist a start_date for sprints that dont are running
    #sprint_name = 'Sprint 3'

    doc_manager = DocsManager()
    doc = doc_manager.create_doc(sprint_name)
    doc_manager.share_doc(doc)
    worksheet = doc_manager.insert_labels(doc, sprint_name, start_date)
    doc_manager.insert_data_in_doc(worksheet, tasks_per_developer)
Esempio n. 12
0
    def test_run_with_creating_new_subtask(self, *args):
        """
    Test JiraManager.run on creating a new sub-task.
    Expect: jira.create_issue is called once with certain parameters.
    """
        dep_name = 'group0:artifact0'
        dep_latest_version = '1.0'
        owners_yaml = """
                  deps:
                    group0:artifact0:
                      group: group0
                      artifact: artifact0
                      owners: owner0
                  """
        summary = self._get_experct_summary('group0', None)
        description = self._get_expected_description(dep_name,
                                                     dep_latest_version, [])

        with patch('__builtin__.open', mock_open(read_data=owners_yaml)):
            with patch('jira_utils.jira_manager.JiraManager._search_issues',
                       side_effect=[[
                           MockedJiraIssue('BEAM-1000', summary, description,
                                           'Open')
                       ], []]):
                manager = JiraManager('url', 'username', 'password',
                                      owners_yaml)
                manager.run(dep_name,
                            dep_latest_version,
                            'Java',
                            group_id='group0')
                manager.jira.create_issue.assert_called_once_with(
                    self._get_experct_summary(dep_name, dep_latest_version),
                    ['dependencies'],
                    self._get_expected_description(dep_name,
                                                   dep_latest_version, []),
                    assignee='owner0',
                    parent_key='BEAM-1000',
                )
Esempio n. 13
0
from temp_file import TempFile
from subprocess import call
import os

##############################
# Initialization
##############################

my_config = config.Config()

##############################
# Read issue from Jira
##############################

url = sys.argv[1]
my_jira = JiraManager(my_config)
issue = my_jira.get_issue_by_url(url)

##############################
# Download temp file
##############################

my_temp_file = TempFile(my_config, my_jira)
my_temp_file.write_file(issue, url)

##############################
# Create new Apple Note
##############################

path = os.path.dirname(os.path.abspath(__file__)).replace(" ", "\ ")
path = os.path.join(path, "tmp2note.app")
Esempio n. 14
0
from config import Config
from notion_manager import NotionManager
from jira_manager import JiraManager
import sys

desired_issue = sys.argv[1]
#desired_issue="VOL-6370"

my_config = Config()
my_jira_manager = JiraManager(my_config)
my_notion_manager = NotionManager(my_config)

issue = my_jira_manager.get_issue(desired_issue)
my_notion_manager.create_page(issue, my_jira_manager)