Best Python code snippet using lettuce-tools_python
views.py
Source:views.py  
...61            finding.notes.add(new_note)62            finding.save()63    return HttpResponse('')64@user_passes_test(lambda u: u.is_staff)65def new_jira(request):66    if request.method == 'POST':67        jform = JIRAForm(request.POST, instance=JIRA_Conf())68        if jform.is_valid():69            try:70                jira_server = jform.cleaned_data.get('url').rstrip('/')71                jira_username = jform.cleaned_data.get('username')72                jira_password = jform.cleaned_data.get('password')73                # Instantiate JIRA instance for validating url, username and password74                JIRA(server=jira_server,75                     basic_auth=(jira_username, jira_password))76                new_j = jform.save(commit=False)77                new_j.url = jira_server78                new_j.save()79                messages.add_message(request,80                                     messages.SUCCESS,81                                     'JIRA Configuration Successfully Created.',82                                     extra_tags='alert-success')83                return HttpResponseRedirect(reverse('jira', ))84            except Exception:85                messages.add_message(request,86                                     messages.ERROR,87                                     'Unable to authenticate. Please check the URL, username, and password.',88                                     extra_tags='alert-danger')89    else:90        jform = JIRAForm()91        add_breadcrumb(title="New Jira Configuration", top_level=False, request=request)92    return render(request, 'dojo/new_jira.html',93                  {'jform': jform})94@user_passes_test(lambda u: u.is_staff)95def edit_jira(request, jid):96    jira = JIRA_Conf.objects.get(pk=jid)97    if request.method == 'POST':98        jform = JIRAForm(request.POST, instance=jira)99        if jform.is_valid():100            try:101                jira_server = jform.cleaned_data.get('url').rstrip('/')102                jira_username = jform.cleaned_data.get('username')103                jira_password = jform.cleaned_data.get('password')104                # Instantiate JIRA instance for validating url, username and password105                JIRA(server=jira_server,106                     basic_auth=(jira_username, jira_password))107                new_j = jform.save(commit=False)108                new_j.url = jira_server109                new_j.save()110                messages.add_message(request,111                                     messages.SUCCESS,112                                     'JIRA Configuration Successfully Created.',113                                     extra_tags='alert-success')114                return HttpResponseRedirect(reverse('jira', ))115            except Exception:116                messages.add_message(request,117                                     messages.ERROR,118                                     'Unable to authenticate. Please check the URL, username, and password.',119                                     extra_tags='alert-danger')120    else:121        jform = JIRAForm(instance=jira)122        add_breadcrumb(title="Edit JIRA Configuration", top_level=False, request=request)123    return render(request,124                  'dojo/edit_jira.html',125                  {126                      'jform': jform,127                  })128@user_passes_test(lambda u: u.is_staff)129def delete_issue(request, find):130    j_issue = JIRA_Issue.objects.get(finding=find)131    jira_conf = find.jira_conf()132    jira = JIRA(server=jira_conf.url,133                basic_auth=(jira_conf.username,134                            jira_conf.password))135    issue = jira.issue(j_issue.jira_id)136    issue.delete()137@user_passes_test(lambda u: u.is_staff)138def jira(request):139    confs = JIRA_Conf.objects.all()140    add_breadcrumb(title="JIRA List", top_level=not len(request.GET), request=request)141    return render(request,142                  'dojo/jira.html',143                  {'confs': confs,144                   })145@user_passes_test(lambda u: u.is_staff)146def delete_jira(request, tid):147    jira_instance = get_object_or_404(JIRA_Conf, pk=tid)148    # eng = test.engagement149    # TODO Make Form150    form = DeleteJIRAConfForm(instance=jira_instance)151    collector = NestedObjects(using=DEFAULT_DB_ALIAS)152    collector.collect([jira_instance])153    rels = collector.nested()154    if request.method == 'POST':155        if 'id' in request.POST and str(jira_instance.id) == request.POST['id']:156            form = DeleteJIRAConfForm(request.POST, instance=jira_instance)157            if form.is_valid():158                jira_instance.delete()159                messages.add_message(request,160                                     messages.SUCCESS,...gobblin-jira-version
Source:gobblin-jira-version  
1#!/usr/bin/env python2#3# Licensed to the Apache Software Foundation (ASF) under one or more4# contributor license agreements.  See the NOTICE file distributed with5# this work for additional information regarding copyright ownership.6# The ASF licenses this file to You under the Apache License, Version 2.07# (the "License"); you may not use this file except in compliance with8# the License.  You may obtain a copy of the License at9#10#    http://www.apache.org/licenses/LICENSE-2.011#12# Unless required by applicable law or agreed to in writing, software13# distributed under the License is distributed on an "AS IS" BASIS,14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.15# See the License for the specific language governing permissions and16# limitations under the License.17#18# Utility for updating fix version for Jiras.19#20#   usage: ./gobblin-jira-version    (see config env vars below)21#22from __future__ import print_function23import json24import os25import re26import subprocess27import sys28import textwrap29# Python 3 compatibility30try:31    import urllib2 as urllib32except ImportError:33    import urllib.request as urllib34if sys.version_info[0] == 3:35    raw_input = input36try:37    import click38except ImportError:39    print("Could not find the click library. Run 'sudo pip install click' to install.")40    sys.exit(-1)41try:42    import keyring43except ImportError:44    print("Could not find the keyring library. Run 'sudo pip install keyring' to install.")45    sys.exit(-1)46try:47    import jira.client48except ImportError:49    print("Could not find jira-python library; exiting. Run 'sudo pip install jira' to install.")50    sys.exit(-1)51    52JIRA_BASE = "https://issues.apache.org/jira/browse"53JIRA_API_BASE = "https://issues.apache.org/jira"54TMP_CREDENTIALS = {}55def register(username, password):56    """ Use this function to register a JIRA account in your OS' keyring """57    keyring.set_password('gobblin-pr', username, password)58    59def validate_jira_id(jira_id):60    if not jira_id:61        return62    elif isinstance(jira_id, int):63        return 'GOBBLIN-{}'.format(abs(jira_id))64    # first look for GOBBLIN-X65    ids = re.findall("GOBBLIN-[0-9]{1,6}", jira_id)66    if len(ids) > 1:67        raise click.UsageError('Found multiple issue ids: {}'.format(ids))68    elif len(ids) == 1:69        jira_id = ids[0]70    elif not ids:71        # if we don't find GOBBLIN-X, see if jira_id is an int72        try:73            jira_id = 'GOBBLIN-{}'.format(abs(int(jira_id)))74        except ValueError:75            raise click.UsageError(76                'JIRA id must be an integer or have the form GOBBLIN-X')77    return jira_id78def update_jira_issue(fix_version):79    """80    Update JIRA issue81    fix_version: the version to assign to the Gobblin JIRAs.82    """83    # ASF JIRA username84    JIRA_USERNAME = os.environ.get("JIRA_USERNAME", '')85    if not JIRA_USERNAME:86        JIRA_USERNAME = TMP_CREDENTIALS.get('JIRA_USERNAME', '')87    # ASF JIRA password88    JIRA_PASSWORD = os.environ.get("JIRA_PASSWORD", '')89    if not JIRA_PASSWORD:90        JIRA_PASSWORD = TMP_CREDENTIALS.get('JIRA_PASSWORD', '')91    if not JIRA_USERNAME:92        JIRA_USERNAME = click.prompt(93            click.style('Username for Gobblin JIRA', fg='blue', bold=True),94            type=str)95        click.echo(96            'Set a JIRA_USERNAME env var to avoid this prompt in the future.')97        TMP_CREDENTIALS['JIRA_USERNAME'] = JIRA_USERNAME98    if JIRA_USERNAME and not JIRA_PASSWORD:99        JIRA_PASSWORD = keyring.get_password("gobblin-pr", JIRA_USERNAME)100        if JIRA_PASSWORD:101            click.echo("Obtained password from keyring. To reset remove it there.")102    if not JIRA_PASSWORD:103        JIRA_PASSWORD = click.prompt(104            click.style('Password for Gobblin JIRA', fg='blue', bold=True),105            type=str,106            hide_input=True)107        if JIRA_USERNAME and JIRA_PASSWORD:108            if click.confirm(click.style("Would you like to store your password "109                                         "in your keyring?", fg='blue', bold=True)):110                register(JIRA_USERNAME, JIRA_PASSWORD)111        TMP_CREDENTIALS['JIRA_PASSWORD'] = JIRA_PASSWORD112    try:113        asf_jira = jira.client.JIRA(114            {'server': JIRA_API_BASE},115            basic_auth=(JIRA_USERNAME, JIRA_PASSWORD))116    except:117        raise ValueError('Could not log in to JIRA!')118          119    for jira_obj in asf_jira.search_issues('filter=12342798', startAt=0, maxResults=2000):120        jira_id = jira_obj.key121        click.echo("Processing JIRA: %s" % jira_id)122        123        try:124            issue = asf_jira.issue(jira_id)125            fixVersions = []126            for version in issue.fields.fixVersions:127                fixVersions.append({'name': version.name})128            fixVersions.append({'name': fix_version})129            issue.update(fields={'fixVersions': fixVersions})130        except Exception as e:131            raise ValueError(132                "ASF JIRA could not find issue {}\n{}".format(jira_id, e))133            134def update_jira_issues():135    fix_version = click.prompt(136        click.style(137            "Enter fix version", fg='blue', bold=True),138        default=None)139        140    if fix_version is None:141        raise click.UsageError('No fix version specified')142    143    update_jira_issue(144            fix_version=fix_version)145        146if __name__ == "__main__":147    try:148        update_jira_issues()149    except:...jira_ui.py
Source:jira_ui.py  
1from selenium_ui.jira import modules2from extension.jira import extension_ui  # noqa F4013# this action should be the first one4def test_0_selenium_a_login(jira_webdriver, jira_datasets, jira_screen_shots):5    modules.login(jira_webdriver, jira_datasets)6def test_1_selenium_browse_projects_list(jira_webdriver, jira_datasets, jira_screen_shots):7    modules.browse_projects_list(jira_webdriver, jira_datasets)8def test_1_selenium_browse_boards_list(jira_webdriver, jira_datasets, jira_screen_shots):9    modules.browse_boards_list(jira_webdriver, jira_datasets)10def test_1_selenium_create_issue(jira_webdriver, jira_datasets, jira_screen_shots):11    modules.create_issue(jira_webdriver, jira_datasets)12def test_1_selenium_edit_issue(jira_webdriver, jira_datasets, jira_screen_shots):13    modules.edit_issue(jira_webdriver, jira_datasets)14def test_1_selenium_save_comment(jira_webdriver, jira_datasets, jira_screen_shots):15    modules.save_comment(jira_webdriver, jira_datasets)16def test_1_selenium_search_jql(jira_webdriver, jira_datasets, jira_screen_shots):17    modules.search_jql(jira_webdriver, jira_datasets)18def test_1_selenium_view_backlog_for_scrum_board(jira_webdriver, jira_datasets, jira_screen_shots):19    modules.view_backlog_for_scrum_board(jira_webdriver, jira_datasets)20def test_1_selenium_view_scrum_board(jira_webdriver, jira_datasets, jira_screen_shots):21    modules.view_scrum_board(jira_webdriver, jira_datasets)22def test_1_selenium_view_kanban_board(jira_webdriver, jira_datasets, jira_screen_shots):23    modules.view_kanban_board(jira_webdriver, jira_datasets)24def test_1_selenium_view_dashboard(jira_webdriver, jira_datasets, jira_screen_shots):25    modules.view_dashboard(jira_webdriver, jira_datasets)26def test_1_selenium_view_issue(jira_webdriver, jira_datasets, jira_screen_shots):27    modules.view_issue(jira_webdriver, jira_datasets)28def test_1_selenium_view_project_summary(jira_webdriver, jira_datasets, jira_screen_shots):29    modules.view_project_summary(jira_webdriver, jira_datasets)30"""31Add custom actions anywhere between login and log out action. Move this to a different line as needed.32Write your custom selenium scripts in `app/extension/jira/extension_ui.py`.33Refer to `app/selenium_ui/jira/modules.py` for examples.34"""35def test_1_selenium_view_bind_unleash_toggle(jira_webdriver, jira_datasets, jira_screen_shots):36    extension_ui.app_specific_action(jira_webdriver, jira_datasets)37# this action should be the last one38def test_2_selenium_z_log_out(jira_webdriver, jira_datasets, jira_screen_shots):...jira_issue.py
Source:jira_issue.py  
1import os2from datetime import datetime3from typing import Optional, List4import arrow5from app.models.jira.jira_component import JiraComponent6from app.models.jira.jira_epic import JiraEpic7from app.models.jira.jira_issue_type import JiraIssueType8from app.models.jira.jira_project import JiraProject9from app.models.jira.jira_resolution import JiraResolution10from app.models.jira.jira_status import JiraStatus11from app.models.jira.jira_status_category import JiraStatusCategory12class JiraIssue:13    key: str = ''14    summary: str = ''15    status: Optional[JiraStatus] = None16    status_category: Optional[JiraStatusCategory] = None17    story_points: Optional[float] = None18    issue_type: Optional[JiraIssueType] = None19    resolution: Optional[JiraResolution] = None20    resolution_date: Optional[datetime] = None21    components: Optional[List[JiraComponent]] = None22    parent: Optional[JiraEpic] = None23    project: Optional[JiraProject] = None24    def __init__(self, raw: dict):25        self.key = raw['key']26        self.issue_type = JiraIssueType(raw['fields']['issuetype'])27        self.summary = raw['fields']['summary']28        if raw['fields']['status']:29            self.status = JiraStatus(raw['fields']['status'])30        if raw['fields']['status']['statusCategory']:31            self.status_category = JiraStatusCategory(raw['fields']['status']['statusCategory'])32        if raw['fields']['customfield_10014']:33            self.story_points = raw['fields']['customfield_10014']34        if raw['fields']['resolution']:35            self.resolution = JiraResolution(raw['fields']['resolution'])36        if raw['fields']['resolutiondate']:37            parsed_data = arrow.get(raw['fields']['resolutiondate'])38            self.resolution_date = parsed_data.datetime39        if raw['fields']['components']:40            self.components = []41            for component in raw['fields']['components']:42                self.components.append(JiraComponent(component))43        try:44            if raw['fields']['parent'] and not self.issue_type.subtask:45                self.parent = JiraEpic(raw['fields']['parent'])46        except KeyError:47            self.parent = None48        if raw['fields']['project']:49            self.project = JiraProject(raw['fields']['project'])50    @property51    def url(self) -> str:...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
