Best Python code snippet using tempest_python
test_trust.py
Source:test_trust.py  
...51        assert kwargs["all_fingerprints"] == test_all_fingerprints52        fingerprint = Fingerprint(source.name)53        assert Trust.full == trusts[fingerprint]54    assert len(trusts) == len(sources)55@create_certificate(username=Username("foobar"), uids=[Uid("foobar <foo@bar.xyz>")], keyring_type="main")56def test_certificate_trust_main_key_has_full_trust(working_dir: Path, keyring_dir: Path) -> None:57    trust = certificate_trust(58        test_keyring_certificates[Username("foobar")][0],59        test_main_fingerprints,60        test_all_fingerprints,61    )62    assert Trust.full == trust63@create_certificate(username=Username("foobar"), uids=[Uid("foobar <foo@bar.xyz>")], keyring_type="main")64@create_key_revocation(username=Username("foobar"), keyring_type="main")65def test_certificate_trust_main_key_revoked(working_dir: Path, keyring_dir: Path) -> None:66    trust = certificate_trust(67        test_keyring_certificates[Username("foobar")][0],68        test_main_fingerprints,69        test_all_fingerprints,70    )71    assert Trust.revoked == trust72@create_certificate(username=Username("foobar"), uids=[Uid("foobar <foo@bar.xyz>")], keyring_type="main")73@create_key_revocation(username=Username("foobar"), keyring_type="main")74def test_certificate_trust_main_key_revoked_unknown_fingerprint_lookup(working_dir: Path, keyring_dir: Path) -> None:75    fingerprint = Fingerprint(test_keyring_certificates[Username("foobar")][0].name)76    revocation = list((keyring_dir / "main" / "foobar" / fingerprint / "revocation").iterdir())[0]77    revocation.rename(revocation.parent / "12341234.asc")78    with raises(Exception):79        certificate_trust(80            test_keyring_certificates[Username("foobar")][0],81            test_main_fingerprints,82            {Fingerprint("12341234")},83        )84@create_certificate(username=Username("foobar"), uids=[Uid("foobar <foo@bar.xyz>")], keyring_type="main")85@create_key_revocation(username=Username("foobar"), keyring_type="main")86def test_certificate_trust_main_key_revoked_unknown_self_revocation(working_dir: Path, keyring_dir: Path) -> None:87    fingerprint = Fingerprint(test_keyring_certificates[Username("foobar")][0].name)88    revocation = list((keyring_dir / "main" / "foobar" / fingerprint / "revocation").iterdir())[0]89    revocation.rename(revocation.parent / "12341234.asc")90    with raises(Exception):91        certificate_trust(92            test_keyring_certificates[Username("foobar")][0],93            test_main_fingerprints,94            set(),95        )96@create_certificate(username=Username("main"), uids=[Uid("main <foo@bar.xyz>")])97@create_certificate(username=Username("foobar"), uids=[Uid("foobar <foo@bar.xyz>")])98def test_certificate_trust_no_signature_is_unknown(working_dir: Path, keyring_dir: Path) -> None:99    trust = certificate_trust(100        test_keyring_certificates[Username("foobar")][0],101        test_main_fingerprints,102        test_all_fingerprints,103    )104    assert Trust.unknown == trust105@create_certificate(username=Username("main"), uids=[Uid("main <foo@bar.xyz>")], keyring_type="main")106@create_certificate(username=Username("foobar"), uids=[Uid("foobar <foo@bar.xyz>")])107@create_uid_certification(issuer=Username("main"), certified=Username("foobar"), uid=Uid("foobar <foo@bar.xyz>"))108def test_certificate_trust_one_signature_is_marginal(working_dir: Path, keyring_dir: Path) -> None:109    trust = certificate_trust(110        test_keyring_certificates[Username("foobar")][0],111        test_main_fingerprints,112        test_all_fingerprints,113    )114    assert Trust.marginal == trust115@create_certificate(username=Username("main"), uids=[Uid("main <foo@bar.xyz>")], keyring_type="main")116@create_certificate(username=Username("not_main"), uids=[Uid("main <foo@bar.xyz>")])117@create_certificate(username=Username("foobar"), uids=[Uid("foobar <foo@bar.xyz>")])118@create_uid_certification(issuer=Username("not_main"), certified=Username("foobar"), uid=Uid("foobar <foo@bar.xyz>"))119def test_certificate_trust_one_none_main_signature_gives_no_trust(working_dir: Path, keyring_dir: Path) -> None:120    trust = certificate_trust(121        test_keyring_certificates[Username("foobar")][0],122        test_main_fingerprints,123        test_all_fingerprints,124    )125    assert Trust.unknown == trust126@create_certificate(username=Username("main1"), uids=[Uid("main1 <foo@bar.xyz>")], keyring_type="main")127@create_certificate(username=Username("main2"), uids=[Uid("main2 <foo@bar.xyz>")], keyring_type="main")128@create_certificate(username=Username("main3"), uids=[Uid("main3 <foo@bar.xyz>")], keyring_type="main")129@create_certificate(username=Username("foobar"), uids=[Uid("foobar <foo@bar.xyz>")])130@create_uid_certification(issuer=Username("main1"), certified=Username("foobar"), uid=Uid("foobar <foo@bar.xyz>"))131@create_uid_certification(issuer=Username("main2"), certified=Username("foobar"), uid=Uid("foobar <foo@bar.xyz>"))132@create_uid_certification(issuer=Username("main3"), certified=Username("foobar"), uid=Uid("foobar <foo@bar.xyz>"))133def test_certificate_trust_three_main_signature_gives_full_trust(working_dir: Path, keyring_dir: Path) -> None:134    trust = certificate_trust(135        test_keyring_certificates[Username("foobar")][0],136        test_main_fingerprints,137        test_all_fingerprints,138    )139    assert Trust.full == trust140@create_certificate(username=Username("main"), uids=[Uid("main <foo@bar.xyz>")], keyring_type="main")141@create_certificate(username=Username("foobar"), uids=[Uid("foobar <foo@bar.xyz>")])142@create_key_revocation(username=Username("foobar"))143def test_certificate_trust_revoked_key(working_dir: Path, keyring_dir: Path) -> None:144    trust = certificate_trust(145        test_keyring_certificates[Username("foobar")][0],146        test_main_fingerprints,147        test_all_fingerprints,148    )149    assert Trust.revoked == trust150@create_certificate(username=Username("main"), uids=[Uid("main <foo@bar.xyz>")], keyring_type="main")151@create_certificate(username=Username("foobar"), uids=[Uid("foobar <foo@bar.xyz>")])152@create_uid_certification(issuer=Username("main"), certified=Username("foobar"), uid=Uid("foobar <foo@bar.xyz>"))153@create_signature_revocation(issuer=Username("main"), certified=Username("foobar"), uid=Uid("foobar <foo@bar.xyz>"))154def test_certificate_trust_one_signature_revoked(working_dir: Path, keyring_dir: Path) -> None:155    trust = certificate_trust(156        test_keyring_certificates[Username("foobar")][0],157        test_main_fingerprints,158        test_all_fingerprints,159    )160    assert Trust.revoked == trust161@create_certificate(username=Username("main1"), uids=[Uid("main1 <foo@bar.xyz>")], keyring_type="main")162@create_certificate(username=Username("main2"), uids=[Uid("main2 <foo@bar.xyz>")], keyring_type="main")163@create_certificate(username=Username("main3"), uids=[Uid("main3 <foo@bar.xyz>")], keyring_type="main")164@create_certificate(username=Username("foobar"), uids=[Uid("foobar <foo@bar.xyz>")])165@create_uid_certification(issuer=Username("main1"), certified=Username("foobar"), uid=Uid("foobar <foo@bar.xyz>"))166@create_uid_certification(issuer=Username("main2"), certified=Username("foobar"), uid=Uid("foobar <foo@bar.xyz>"))167@create_uid_certification(issuer=Username("main3"), certified=Username("foobar"), uid=Uid("foobar <foo@bar.xyz>"))168@create_signature_revocation(issuer=Username("main3"), certified=Username("foobar"), uid=Uid("foobar <foo@bar.xyz>"))169def test_certificate_trust_revoked_if_below_full(working_dir: Path, keyring_dir: Path) -> None:170    trust = certificate_trust(171        test_keyring_certificates[Username("foobar")][0],172        test_main_fingerprints,173        test_all_fingerprints,174    )175    assert Trust.revoked == trust176@create_certificate(username=Username("main1"), uids=[Uid("main1 <foo@bar.xyz>")], keyring_type="main")177@create_certificate(username=Username("main2"), uids=[Uid("main2 <foo@bar.xyz>")], keyring_type="main")178@create_certificate(username=Username("main3"), uids=[Uid("main3 <foo@bar.xyz>")], keyring_type="main")179@create_certificate(username=Username("main4"), uids=[Uid("main4 <foo@bar.xyz>")], keyring_type="main")180@create_certificate(username=Username("foobar"), uids=[Uid("foobar <foo@bar.xyz>")])181@create_uid_certification(issuer=Username("main1"), certified=Username("foobar"), uid=Uid("foobar <foo@bar.xyz>"))182@create_uid_certification(issuer=Username("main2"), certified=Username("foobar"), uid=Uid("foobar <foo@bar.xyz>"))183@create_uid_certification(issuer=Username("main3"), certified=Username("foobar"), uid=Uid("foobar <foo@bar.xyz>"))184@create_uid_certification(issuer=Username("main4"), certified=Username("foobar"), uid=Uid("foobar <foo@bar.xyz>"))185@create_signature_revocation(issuer=Username("main4"), certified=Username("foobar"), uid=Uid("foobar <foo@bar.xyz>"))186def test_certificate_trust_full_remains_if_enough_sigs_present(working_dir: Path, keyring_dir: Path) -> None:187    trust = certificate_trust(188        test_keyring_certificates[Username("foobar")][0],189        test_main_fingerprints,190        test_all_fingerprints,191    )192    assert Trust.full == trust193@create_certificate(username=Username("main1"), uids=[Uid("main1 <foo@bar.xyz>")], keyring_type="main")194@create_certificate(username=Username("main2"), uids=[Uid("main2 <foo@bar.xyz>")], keyring_type="main")195@create_certificate(username=Username("main3"), uids=[Uid("main3 <foo@bar.xyz>")], keyring_type="main")196@create_certificate(username=Username("foobar"), uids=[Uid("foobar <foo@bar.xyz>"), Uid("old <old@old.old>")])197@create_uid_certification(issuer=Username("main1"), certified=Username("foobar"), uid=Uid("foobar <foo@bar.xyz>"))198@create_uid_certification(issuer=Username("main2"), certified=Username("foobar"), uid=Uid("foobar <foo@bar.xyz>"))199@create_signature_revocation(issuer=Username("foobar"), certified=Username("foobar"), uid=Uid("old <old@old.old>"))200def test_certificate_trust_not_revoked_if_only_one_uid_is_self_revoked(working_dir: Path, keyring_dir: Path) -> None:201    trust = certificate_trust(202        test_keyring_certificates[Username("foobar")][0],203        test_main_fingerprints,204        test_all_fingerprints,205    )206    assert Trust.marginal == trust207@create_certificate(username=Username("foobar"), uids=[Uid("foobar <foo@bar.xyz>"), Uid("old <old@old.old>")])208@create_signature_revocation(issuer=Username("foobar"), certified=Username("foobar"), uid=Uid("old <old@old.old>"))209def test_certificate_trust_unknown_if_only_contains_self_revoked(working_dir: Path, keyring_dir: Path) -> None:210    trust = certificate_trust(211        test_keyring_certificates[Username("foobar")][0],212        test_main_fingerprints,213        test_all_fingerprints,214    )215    assert Trust.unknown == trust216@create_certificate(username=Username("main1"), uids=[Uid("main1 <foo@bar.xyz>")], keyring_type="main")217@create_certificate(username=Username("foobar"), uids=[Uid("foobar <foo@bar.xyz>"), Uid("old <old@old.old>")])218@create_uid_certification(issuer=Username("main1"), certified=Username("foobar"), uid=Uid("foobar <foo@bar.xyz>"))219def test_certificate_trust_missing_signature_fingerprint_lookup(working_dir: Path, keyring_dir: Path) -> None:220    with raises(Exception):221        certificate_trust(222            test_keyring_certificates[Username("foobar")][0],223            test_main_fingerprints,224            set(),225        )226@create_certificate(username=Username("foobar"), uids=[Uid("old <old@old.old>")])227@create_signature_revocation(issuer=Username("foobar"), certified=Username("foobar"), uid=Uid("old <old@old.old>"))228def test_certificate_trust_missing_revocation_fingerprint_lookup(working_dir: Path, keyring_dir: Path) -> None:229    with raises(Exception):230        certificate_trust(231            test_keyring_certificates[Username("foobar")][0],232            test_main_fingerprints,233            set(),234        )235@create_certificate(username=Username("main1"), uids=[Uid("main1 <foo@bar.xyz>")], keyring_type="main")236@create_certificate(username=Username("foobar"), uids=[Uid("foobar <foo@bar.xyz>")])237@create_certificate(username=Username("packager"), uids=[Uid("packager <packager@bar.xyz>")])238@create_uid_certification(issuer=Username("main1"), certified=Username("foobar"), uid=Uid("foobar <foo@bar.xyz>"))239@create_uid_certification(issuer=Username("packager"), certified=Username("foobar"), uid=Uid("foobar <foo@bar.xyz>"))240@create_signature_revocation(issuer=Username("packager"), certified=Username("foobar"), uid=Uid("foobar <foo@bar.xyz>"))241def test_certificate_trust_ignore_3rd_party_revocation(working_dir: Path, keyring_dir: Path) -> None:242    trust = certificate_trust(243        test_keyring_certificates[Username("foobar")][0],244        test_main_fingerprints,245        test_all_fingerprints,246    )247    assert Trust.marginal == trust248@mark.parametrize(249    "trust, result",250    [251        (Trust.revoked, Color.RED),...test_81_certificates.py
Source:test_81_certificates.py  
...22            "organization": "asdfgh",23            "organization_unit": "asdfg"24        }25        osw = OpenSSLWrapper()26        ca_cert, ca_key = osw.create_certificate(cert_info_ca, request=False,27                                                 write_to_file=True,28                                                 cert_dir=os.path.dirname(29                                                     os.path.abspath(30                                                         __file__)) + "/pki")31        req_cert_str, req_key_str = osw.create_certificate(cert_info,32                                                           request=True)33        ca_cert_str = osw.read_str_from_file(ca_cert)34        ca_key_str = osw.read_str_from_file(ca_key)35        cert_str = osw.create_cert_signed_certificate(ca_cert_str, ca_key_str,36                                                      req_cert_str)37        valid, mess = osw.verify(ca_cert_str, cert_str)38        self.assertTrue(valid)39        false_ca_cert, false_ca_key = osw.create_certificate(cert_info_ca,40                                                             request=False,41                                                             write_to_file=False)42        false_req_cert_str_1, false_req_key_str_1 = osw.create_certificate(43            cert_info_ca, request=True)44        false_cert_str_1 = osw.create_cert_signed_certificate(false_ca_cert,45                                                              false_ca_key,46                                                              false_req_cert_str_1)47        false_req_cert_str_2, false_req_key_str_2 = osw.create_certificate(48            cert_info, request=True)49        false_cert_str_2 = osw.create_cert_signed_certificate(false_ca_cert,50                                                              false_ca_key,51                                                              false_req_cert_str_2)52        valid, mess = osw.verify(false_ca_cert, cert_str)53        self.assertFalse(valid)54        valid, mess = osw.verify(false_ca_cert, false_cert_str_1)55        self.assertFalse(valid)56        valid, mess = osw.verify(ca_cert_str, false_cert_str_2)57        self.assertFalse(valid)58        if 'z' in cert_str:59            false_cert_str = cert_str.replace('z', 'x')60            valid, mess = osw.verify(ca_cert_str, false_cert_str)61            self.assertFalse(valid)62        remove(ca_cert)63        remove(ca_key)64    def test_validate_cert_chains(self):65        cert_info_ca = {66            "cn": "qwerty",67            "country_code": "qw",68            "state": "qwerty",69            "city": "qwerty",70            "organization": "qwerty",71            "organization_unit": "qwerty"72        }73        cert_intermediate_1_info = {74            "cn": "intermediate_1",75            "country_code": "as",76            "state": "asdfgh",77            "city": "asdfgh",78            "organization": "asdfgh",79            "organization_unit": "asdfg"80        }81        cert_intermediate_2_info = {82            "cn": "intermediate_2",83            "country_code": "as",84            "state": "asdfgh",85            "city": "asdfgh",86            "organization": "asdfgh",87            "organization_unit": "asdfg"88        }89        cert_client_cert_info = {90            "cn": "intermediate_1",91            "country_code": "as",92            "state": "asdfgh",93            "city": "asdfgh",94            "organization": "asdfgh",95            "organization_unit": "asdfg"96        }97        osw = OpenSSLWrapper()98        ca_cert_str, ca_key_str = osw.create_certificate(cert_info_ca,99                                                         request=False)100        req_cert_str, intermediate_1_key_str = osw.create_certificate(101            cert_intermediate_1_info, request=True)102        intermediate_cert_1_str = osw.create_cert_signed_certificate(103            ca_cert_str, ca_key_str, req_cert_str)104        req_cert_str, intermediate_2_key_str = osw.create_certificate(105            cert_intermediate_2_info, request=True)106        intermediate_cert_2_str = osw.create_cert_signed_certificate(107            intermediate_cert_1_str, intermediate_1_key_str,108            req_cert_str)109        req_cert_str, client_key_str = osw.create_certificate(110            cert_client_cert_info, request=True)111        client_cert_str = osw.create_cert_signed_certificate(112            intermediate_cert_2_str, intermediate_2_key_str,113            req_cert_str)114        cert_chain = [intermediate_cert_2_str, intermediate_cert_1_str,115                      ca_cert_str]116        valid, mess = osw.verify_chain(cert_chain, client_cert_str)117        self.assertTrue(valid)118    def test_validate_passphrase(self):119        cert_info_ca = {120            "cn": "qwerty",121            "country_code": "qw",122            "state": "qwerty",123            "city": "qwerty",124            "organization": "qwerty",125            "organization_unit": "qwerty"126        }127        cert_info = {128            "cn": "intermediate_1",129            "country_code": "as",130            "state": "asdfgh",131            "city": "asdfgh",132            "organization": "asdfgh",133            "organization_unit": "asdfg"134        }135        osw = OpenSSLWrapper()136        ca_cert_str, ca_key_str = osw.create_certificate(137            cert_info_ca, request=False,138            cipher_passphrase={"cipher": "blowfish", "passphrase": "qwerty"})139        req_cert_str, req_key_str = osw.create_certificate(cert_info,140                                                           request=True)141        cert_str = osw.create_cert_signed_certificate(ca_cert_str, ca_key_str,142                                                      req_cert_str,143                                                      passphrase=b"qwerty")144        valid = False145        try:146            cert_str = osw.create_cert_signed_certificate(147                ca_cert_str, ca_key_str, req_cert_str,148                passphrase="qwertyqwerty")149        except Exception:150            valid = True151        self.assertTrue(valid)152    def test_validate_expire(self):153        cert_info_ca = {154            "cn": "qwerty",155            "country_code": "qw",156            "state": "qwerty",157            "city": "qwerty",158            "organization": "qwerty",159            "organization_unit": "qwerty"160        }161        cert_info = {162            "cn": "intermediate_1",163            "country_code": "as",164            "state": "asdfgh",165            "city": "asdfgh",166            "organization": "asdfgh",167            "organization_unit": "asdfg"168        }169        osw = OpenSSLWrapper()170        ca_cert_str, ca_key_str = osw.create_certificate(cert_info_ca,171                                                         request=False)172        req_cert_str, req_key_str = osw.create_certificate(cert_info,173                                                           request=True)174        cert_str = osw.create_cert_signed_certificate(ca_cert_str, ca_key_str,175                                                      req_cert_str)176        valid, mess = osw.verify(ca_cert_str, cert_str)177        ca_cert_str, ca_key_str = osw.create_certificate(cert_info_ca,178                                                         request=False,179                                                         valid_from=1000,180                                                         valid_to=100000)181        req_cert_str, req_key_str = osw.create_certificate(cert_info,182                                                           request=True)183        cert_str = osw.create_cert_signed_certificate(ca_cert_str, ca_key_str,184                                                      req_cert_str)185        valid, mess = osw.verify(ca_cert_str, cert_str)186        self.assertFalse(valid)187        ca_cert_str, ca_key_str = osw.create_certificate(cert_info_ca,188                                                         request=False)189        req_cert_str, req_key_str = osw.create_certificate(cert_info,190                                                           request=True)191        cert_str = osw.create_cert_signed_certificate(ca_cert_str, ca_key_str,192                                                      req_cert_str,193                                                      valid_from=1000,194                                                      valid_to=100000)195        valid, mess = osw.verify(ca_cert_str, cert_str)196        self.assertFalse(valid)197        ca_cert_str, ca_key_str = osw.create_certificate(cert_info_ca,198                                                         request=False,199                                                         valid_from=0,200                                                         valid_to=1)201        req_cert_str, req_key_str = osw.create_certificate(cert_info,202                                                           request=True)203        cert_str = osw.create_cert_signed_certificate(ca_cert_str, ca_key_str,204                                                      req_cert_str)205        time.sleep(2)206        valid, mess = osw.verify(ca_cert_str, cert_str)207        self.assertFalse(valid)208        ca_cert_str, ca_key_str = osw.create_certificate(cert_info_ca,209                                                         request=False)210        req_cert_str, req_key_str = osw.create_certificate(cert_info,211                                                           request=True)212        cert_str = osw.create_cert_signed_certificate(ca_cert_str, ca_key_str,213                                                      req_cert_str,214                                                      valid_from=0, valid_to=1)215        time.sleep(2)216        valid, mess = osw.verify(ca_cert_str, cert_str)...setup-reverse-proxy.py
Source:setup-reverse-proxy.py  
...38        f.write(index_html)39def render_httpd_template(template, env):40    target = template.replace(".template", "")41    render_template(template, os.path.join(HTTPD_CONF_DIR, target), env)42def create_certificate(hostname):43    # create a key pair44    k = crypto.PKey()45    k.generate_key(crypto.TYPE_RSA, 1024)46    serial = int(time.time())47    # create a self-signed cert48    cert = crypto.X509()49    subject = cert.get_subject()50    subject.C = "DE"51    subject.ST = "Hessen"52    subject.L = "Frankfurt"53    subject.O = "dimajix"54    subject.OU = "dimajix Training"55    subject.CN = hostname56    cert.set_serial_number(serial)57    cert.gmtime_adj_notBefore(0)58    cert.gmtime_adj_notAfter(10*24*60*60)59    cert.set_issuer(subject)60    cert.set_pubkey(k)61    cert.sign(k, 'sha1')62    if not os.path.exists(CERT_DIR):63        os.makedirs(CERT_DIR)64    certfile = os.path.join(CERT_DIR, hostname + '.cert')65    if not os.path.exists(certfile):66        with open(certfile, 'wt') as f:67            f.write(crypto.dump_privatekey(crypto.FILETYPE_PEM, k))68            f.write(crypto.dump_certificate(crypto.FILETYPE_PEM, cert))69def setup_apache(args):70    env = create_env(args)71    render_template('index.html.template', '/var/www/html/index.html', env)72    render_httpd_template('apache-proxy.conf.template', env)73    render_httpd_template('apache-proxy-nn.conf.template', env)74    render_httpd_template('apache-proxy-ap.conf.template', env)75    render_httpd_template('apache-proxy-rm.conf.template', env)76    render_httpd_template('apache-proxy-hue.conf.template', env)77    render_httpd_template('apache-proxy-hbase.conf.template', env)78    render_httpd_template('apache-proxy-zeppelin.conf.template', env)79    render_httpd_template('apache-proxy-jupyter.conf.template', env)80    hostname = env['aliasHostName']81    create_certificate(hostname)82    create_certificate('nn.' + hostname)83    create_certificate('ap.' + hostname)84    create_certificate('rm.' + hostname)85    create_certificate('hue.' + hostname)86    create_certificate('hbase.' + hostname)87    create_certificate('zeppelin.' + hostname)88    create_certificate('jupyter.' + hostname)89    with open(env["htpasswd"],'wt') as userdb:90        pass91    with htpasswd.Basic(env["htpasswd"]) as userdb:92        userdb.add(env['username'], env['password'])93def parse_args(raw_args):94    parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)95    parser.add_argument('-d', '--domain', dest='domain', help='Domain for registering proxy host', default='training.dimajix-aws.net')96    parser.add_argument('-u', '--username', dest='username', help='Username for authentication', default='dimajix-training')97    parser.add_argument('-p', '--password', dest='password', help='Password for authentication', default='dmx2018')98    return parser.parse_args(args=raw_args)99if __name__ == "__main__":100    args = parse_args(sys.argv[1:])101    wait_hadoop()102    setup_apache(args)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!!
