├── .gitignore ├── .idea ├── api_auto_test.iml ├── encodings.xml ├── misc.xml ├── modules.xml ├── vcs.xml └── workspace.xml ├── .svn ├── entries ├── format ├── pristine │ ├── 10 │ │ ├── 10a734e3a11c2c0ad08b1956b4e4ed5ba333ed73.svn-base │ │ └── 10be5023755bf5314be4853ee5f628e9165a9eec.svn-base │ ├── 11 │ │ └── 11f1fad469413e9fc3fd7c40c92978b91f63f60b.svn-base │ ├── 12 │ │ ├── 123bf09d0dc6b63d0eb99667926ad6fea08ca060.svn-base │ │ ├── 129102271b7b10d696e8af99564ca044a5275433.svn-base │ │ ├── 12a38ac0c60c3f5a8756a9e03ee74a22c9b481c0.svn-base │ │ ├── 12dc726d536ac216ba05bb7eb8a014a5609a0da0.svn-base │ │ └── 12f532a20d5a745d8e7652553a11e873ccb6b127.svn-base │ ├── 13 │ │ ├── 1316fce9e5692a563cdff8df82ac1f151930c276.svn-base │ │ └── 131e3d21e2ead75dad76b3130b2efb3f98e1ed48.svn-base │ ├── 14 │ │ ├── 145067ad8515cbb0d26d60d3fe363f5db5cff074.svn-base │ │ ├── 147578109dd39d788b0a79bd7ed6825e60ebc927.svn-base │ │ └── 14b290d57c0631aba7abd1c87752708fba6895df.svn-base │ ├── 15 │ │ ├── 151478b5f4a6291addb13da92ef3534597ed39a4.svn-base │ │ ├── 155361cb9e6777adeb488974fa8cc5a223d5f61e.svn-base │ │ ├── 15576c12ae90688527cf229fef8b0074f4b87d44.svn-base │ │ ├── 15bc74d53c0b195b9d4fec6e024d8d573f2145ad.svn-base │ │ └── 15d9e18d5cb304114cf9f4bec815ccf731f3aacd.svn-base │ ├── 16 │ │ └── 169b06feddfda45f7cc41ad45ad0725078a6a743.svn-base │ ├── 17 │ │ ├── 173f4323024ea4ac4a10455b9d59877a53443b0e.svn-base │ │ ├── 17897bb50172be567287fef2d85942f9b0fb19e2.svn-base │ │ ├── 17a570ba185bf5bac0b670932d3ea74376e19f7b.svn-base │ │ └── 17c91365929febf461353b7db8bd782a33b0518e.svn-base │ ├── 18 │ │ ├── 1819fbb29296f7a6567942db8e50923d73732bcf.svn-base │ │ ├── 1855e643257c1ae0d34ea2faaa672d5bebd2d4de.svn-base │ │ ├── 185cda86a90370bce80633831b21f22c5833879e.svn-base │ │ └── 18aafa5d34c519c51823a7a4737dd07f79e11db9.svn-base │ ├── 19 │ │ ├── 195440f1488c8828ac1a6424f9e14b4e956596f0.svn-base │ │ └── 19e1bab297439bad832ccb99a1549d24b4d8dbd0.svn-base │ ├── 20 │ │ ├── 200140dc18746e4cfdbe73c9f62d9530c24728d2.svn-base │ │ ├── 200367634c3ce53792bd6c0f4d7d50e6c3c842e2.svn-base │ │ ├── 2066c030af0825f959141614070fc8abf791bbf7.svn-base │ │ ├── 20b8d08a3b94eaf578419402976562021c949710.svn-base │ │ └── 20c93d9c077d6c7e842a3bf1756dff0c10a03929.svn-base │ ├── 21 │ │ ├── 21d1776cf42a7768c65df1574f5f724ad2bb231f.svn-base │ │ └── 21e70d7fefd49e5013aa1ca507e135e27a9a60b2.svn-base │ ├── 22 │ │ ├── 22924deb02a012dec6667ff2d26cc80f9dc849d3.svn-base │ │ └── 22a4eca6c13afe1b6e5cea9bd70fcc12c158dea7.svn-base │ ├── 23 │ │ ├── 23961f3be346a6f094f92ad7d84735d54ec22864.svn-base │ │ └── 23ee9fbb7ad53343e9387a54455d2009be6c039b.svn-base │ ├── 24 │ │ ├── 24a4988aec3ccd8185e1c3dabc3bafd92fdf35d5.svn-base │ │ ├── 24d4e2a280dd0fb5077c6d74d0f552a75f0c40f2.svn-base │ │ └── 24d83af2083890735b0450f4058017512d7612c0.svn-base │ ├── 27 │ │ ├── 27150724c53bb2c73e94c2f8d62027a66ca186eb.svn-base │ │ ├── 27152189fa8dbf05d7263918938dfbc77912c419.svn-base │ │ ├── 27a2b377eb6d3ae782ced065720bb5f9a74ec196.svn-base │ │ ├── 27a8f7c65aae0189e97406d7b1e50bf38d4f2a45.svn-base │ │ ├── 27e1a44d6dd35f55d274aa6f5767f5ad27d94752.svn-base │ │ └── 27e32fc5fb7a3a571cbd71831036940c40e110d0.svn-base │ ├── 28 │ │ ├── 283ddcccf6a97e25d9e62d2fb358e59c2aa62d8b.svn-base │ │ ├── 286886d9267857be0a660da0f923194b1beccc68.svn-base │ │ ├── 286f743e81a506520f677f464fa50bdda4b38fb3.svn-base │ │ └── 28d9f8ebbf6f71263c43ba4b123c4142ed4f4728.svn-base │ ├── 29 │ │ ├── 293782c9a0058161e72283b6e2bca846b1dad38a.svn-base │ │ ├── 296592aa38709d0cb28c303ff0fee5d0dab41c19.svn-base │ │ └── 29a079079963c7ea04f33ec27c287fef0127542b.svn-base │ ├── 30 │ │ ├── 300779eced6479c49df160d707d76f298d6971f1.svn-base │ │ ├── 305470491d5357f563650a2764ed8a34dda729f6.svn-base │ │ └── 30a73715eeece118f4e16d7aff8bebda3b238acd.svn-base │ ├── 31 │ │ └── 31eee7114eed6b0d2fb77c9f3605057639050786.svn-base │ ├── 32 │ │ ├── 32c65c7097fbe415781d4f600dcca4429d2f8702.svn-base │ │ └── 32e8fad6272066279cae5eb6c76bf7bb6341bb55.svn-base │ ├── 33 │ │ └── 33e6493582eea280e7c92c6803e117ae06234c01.svn-base │ ├── 34 │ │ ├── 34925311a4e089f8867a1917fd6e705d6db6a834.svn-base │ │ └── 34f2a530ef02be110e6932e4899e5208d586bc30.svn-base │ ├── 35 │ │ ├── 3579bdd0d775c03feaf98a8448622ae052c33097.svn-base │ │ ├── 35e811aea50a8626f62a5f9a2cc350cd56d31fb7.svn-base │ │ ├── 35ef3bb735c68e457746e85e7c410ceb2ada711a.svn-base │ │ └── 35f290d30bdf64f5bf9ddcd5cf47beb5a45d1c11.svn-base │ ├── 36 │ │ └── 36ca384d1caf4fb610f47074f03ee6327383bb14.svn-base │ ├── 37 │ │ ├── 37175531b42ce7dded08b25e9ea1508d1d610cdf.svn-base │ │ └── 3761924aed3900f6bb3ab391c78de297d9a96694.svn-base │ ├── 39 │ │ ├── 39128cbedc94bd43cebdefcb9f42a1d79afd554f.svn-base │ │ ├── 391552ca03f5bf7d6ee9a7f91aea23ae7605c1bf.svn-base │ │ ├── 3926a34badf2b409a322fae8a8732dfb57f689f4.svn-base │ │ └── 39ad29722b69468fb88b18afbc1bfd4608aba53b.svn-base │ ├── 40 │ │ ├── 4028bd63b9eb6c3225fc61b7e8733528ee80fd87.svn-base │ │ ├── 403b4f9a8863db5f4b9860c2e38b30bf15ec9791.svn-base │ │ ├── 405782037a416d6a7ff4972183cdd39bbe16ea87.svn-base │ │ ├── 4087dbff9375123b062a69600ead4e47ab143937.svn-base │ │ └── 40d7ce60393978a29fb0e0b1e849658e48cf7887.svn-base │ ├── 41 │ │ ├── 4133dac6ff6d37ea05357ca4b6425704dd5bad41.svn-base │ │ └── 414a410c5de1ddbdf8e1e07a526bd082cc6ebc31.svn-base │ ├── 43 │ │ ├── 4321535f6a36d555997977dfebae91e2f5acd2dd.svn-base │ │ └── 43f4de3d4b0088ace6150f073a186e312dc14a8c.svn-base │ ├── 44 │ │ ├── 44105cb4847b4abdd7bb445df8958aa1d27ce80f.svn-base │ │ ├── 444f501c3fd672580dd3ab7ac6c60e9ce93cc569.svn-base │ │ └── 445c6a9a506760bf5fcc4621975d0066d1530d47.svn-base │ ├── 45 │ │ ├── 45aa870a993a1ffe689999a4db44243f21457b3f.svn-base │ │ └── 45ed65cad1a778f388a197189a4a4b6d7df42f75.svn-base │ ├── 46 │ │ └── 46707921959b4e4a45061dfb89bab0da6126930b.svn-base │ ├── 48 │ │ └── 48055d0474e0d44959e32193462d78c4e5c4a107.svn-base │ ├── 51 │ │ ├── 515d43ec685d7ae2b8e9b0724d5688dab08600b7.svn-base │ │ └── 51ba2ed5ba677237d11b2eea486f837061760297.svn-base │ ├── 52 │ │ ├── 52184c66c24f3bc477685c78b52a691d6e17b3e6.svn-base │ │ ├── 5297df2758b6be575459e08565b07382eb6d52ed.svn-base │ │ ├── 529fc858fdfda889eaa5eafc9cb699c4305b19d6.svn-base │ │ └── 52b59cf1cff0e66d2b32f11e12054e111aae91db.svn-base │ ├── 53 │ │ ├── 536ab7a39349f339a588008a6d01ca644c9d5ae1.svn-base │ │ └── 53d7dbcf445eddcd61e7dc9ae7e773eba78955b9.svn-base │ ├── 54 │ │ ├── 5418fe011346b970be646c8cf2a03b287d0186cc.svn-base │ │ └── 54bb0d1b4646c423489845bfc34693c38bb76861.svn-base │ ├── 55 │ │ ├── 554bb2883b2aef7451d569b80bfc5597fce0735a.svn-base │ │ ├── 55bc4f7e14387e8caa0f1c2a12aab21abb9d0fb1.svn-base │ │ └── 55dbe501a67fec428bcc38f25bbc05c649247499.svn-base │ ├── 56 │ │ ├── 56727ee8f0d82731200f038c98dd103857af1e89.svn-base │ │ ├── 5675db089eaf2148b452cc44b92792c93c644e29.svn-base │ │ ├── 568b1fe51241f4f32195f307a478d8c325d70f62.svn-base │ │ └── 56966bb20965ce896b45055dc5940dc8414215e3.svn-base │ ├── 57 │ │ ├── 572e961288fe4e6d27e218015d252074484057b0.svn-base │ │ ├── 574e125d43313023870f5604144e85723fe07851.svn-base │ │ ├── 575c23553e54642b5bea47e65b44f55eb446ef79.svn-base │ │ ├── 57644a0486b7f6bd7c8fd7132045608ffc0b8728.svn-base │ │ └── 57a511731dc9d51c973827d67c97bbb8589293c7.svn-base │ ├── 58 │ │ ├── 58288b38db4857ea370505e0203fef960aad4181.svn-base │ │ ├── 58a26c792ca8522c83e2eecb96543ef6eb9c8cdb.svn-base │ │ └── 58ec55fac8dc3e445db7ce988fff6cec4f55dfdf.svn-base │ ├── 59 │ │ ├── 59eabda06f3273b5a420c5fa1d129ba7e8f6acb7.svn-base │ │ └── 59f96d96d8fca29c4af5f3a306e203db7bf58ea6.svn-base │ ├── 60 │ │ ├── 600cdab650e0039fd83b771e6d73f32a941e3b69.svn-base │ │ ├── 607fb8fc37c03ed104aa478f15f6d0fd3d9aca91.svn-base │ │ └── 60dbc403a359cd4e6e491711476791042f469278.svn-base │ ├── 61 │ │ ├── 6126e0f53ec9d056045f9e6b3a7db4a3b419ba05.svn-base │ │ ├── 6151b4f20f32e1bee3ff735d2147bf41b05db192.svn-base │ │ ├── 61c97c184822264aa8ab31172b215f06f4a73650.svn-base │ │ └── 61ea41102128f9788c67662c2062305961809582.svn-base │ ├── 62 │ │ ├── 624fd229eeb9cafd3b355c553d55d7bcb67a7456.svn-base │ │ ├── 62bbef91ac7666f6aec55c9511f75b58f1f371b5.svn-base │ │ └── 62fa3a2d66616852f8e479538637a0e6f8fd5fa1.svn-base │ ├── 65 │ │ ├── 653b9fef6f37593d0b951f3a5e75ce78824c6414.svn-base │ │ └── 65b9b62c68dd4573dff648d743dea7ddaf52736e.svn-base │ ├── 66 │ │ ├── 6661be83dd1ff765e9a82cebc1e22574a8cf1401.svn-base │ │ └── 6687256bf1d358d4747ec39cfd9012f16766e990.svn-base │ ├── 67 │ │ ├── 6701b5504556c6329c92884a4fca7b3687066e64.svn-base │ │ ├── 671d05c5f20a4cd78c508d566c7cfd641cc4adb4.svn-base │ │ ├── 6739f270084c07f69091d9401653bf9075cd8af0.svn-base │ │ ├── 67593a8b24cfff033e06325408d29235b32015e6.svn-base │ │ └── 67d360a32d3b3a723998ca8ac1fae5a242afbce7.svn-base │ ├── 68 │ │ └── 68a1f4a46c1fe0f559e0618168d9fd5b619b3222.svn-base │ ├── 70 │ │ └── 709e6fe0a594a0157985ea30730508ca8b53aeff.svn-base │ ├── 71 │ │ ├── 713a8f8824024e8efc59e70f03282a7dedd642d1.svn-base │ │ ├── 718357b1081767cfa08d6190d86bdbe83bf6635e.svn-base │ │ ├── 71be3ee22819646e3a673ce4de94097b6970fc9a.svn-base │ │ └── 71c61876fb64cd9be7742011295795933f5ec52e.svn-base │ ├── 72 │ │ ├── 721645c0ea543557b0d6c6e246f44ab7a8cbb1f1.svn-base │ │ ├── 729b0253c01499583942039478b2d3185329eea0.svn-base │ │ └── 72e5fceb76420abf3652a6846e7b2a1ffab1a805.svn-base │ ├── 73 │ │ └── 73936ad08e7e64128dba3628a5a433dac1b3f261.svn-base │ ├── 74 │ │ ├── 7403bd0a84624cd456faa3d7ac61b14bf7e5ac98.svn-base │ │ ├── 745ca9bd26cc0c09828bee5f21d461d3aefb9484.svn-base │ │ ├── 747319e93621acb9126990f49567faa72a344463.svn-base │ │ └── 74e5f4a45cf9a2e4e3e1f66456676bc7c49b2fd1.svn-base │ ├── 75 │ │ ├── 7543b2fa3496c06889553d928b867971480758c0.svn-base │ │ ├── 754503e9beb14ed2731438b32558350661729485.svn-base │ │ └── 75ca00d439fb07f0182ea24ddab48aa654373567.svn-base │ ├── 76 │ │ ├── 76010c2d925bbbf5ded1f276bcdf1a2865441c0d.svn-base │ │ ├── 76545a62f96ed77568d304b27dde5896005c2283.svn-base │ │ ├── 7667012ed9317ab115207d83c1f156973d29b5ae.svn-base │ │ └── 76797756618215a069abbf6821a448404cda2ee0.svn-base │ ├── 77 │ │ ├── 779c87ff3bd64e2fe7e34d49b7a2daf07da5dbd6.svn-base │ │ ├── 77b40cc6b5715f1822a282c70a2c70e0caed43d6.svn-base │ │ ├── 77bf2a555e877dae3cd2ab541e48ce46ca5c836d.svn-base │ │ └── 77de26f23cef9ed63f1e3e307cf27e44a3819e8e.svn-base │ ├── 78 │ │ ├── 7840267dc29e0d3a93564e15677e9343c9b9a484.svn-base │ │ └── 78ebf1b80654ac3334ef69c8898ca4607968bb8f.svn-base │ ├── 79 │ │ ├── 79434f4d8c70941e802934ee81dbf9f132c06e2e.svn-base │ │ ├── 795e6f5c6f1a45db671d012a719047e51f80bf32.svn-base │ │ ├── 796958082b68b64399fd68d445cbcca8409d0c91.svn-base │ │ ├── 7976ea0a8bf101e391c82f413ff9982d0e47eff2.svn-base │ │ ├── 79d873fe1cef7f73d47dd5b4eae8d7b1be139bd9.svn-base │ │ └── 79fdb7d754f388de94708c2247c0f44ead41063a.svn-base │ ├── 80 │ │ ├── 802061e7abbf85045b0edf32e83898d2743756ca.svn-base │ │ └── 807ee25ffcfdaacd5c5a8b633e21525772016191.svn-base │ ├── 81 │ │ ├── 815e1c6a55fcc03b889bf94ac5a4db04c968632f.svn-base │ │ ├── 815f8798d6ef7aefd1ccad2892b58946d7fa83c2.svn-base │ │ ├── 81f3a31ffc084b35e3c30f2976cbbb4efd494746.svn-base │ │ └── 81fdfd32eee728b05980ca3f355dbdb7146717c9.svn-base │ ├── 82 │ │ ├── 8272aa191760c392a410b3041f985ec204ff8811.svn-base │ │ └── 8298a1a5ba98dd29338874caed0bb8607349d966.svn-base │ ├── 83 │ │ ├── 835d9806a7a428ff9bc2cfb6403f98709f4ecbaf.svn-base │ │ ├── 838e138f184cf5dd882d9f266fe69148b7a9d12f.svn-base │ │ └── 83b01c54c1d9653050a09f88bcff1222d7b2dd10.svn-base │ ├── 84 │ │ ├── 844382f61c6acec2d148af3b400752dc9de1358c.svn-base │ │ └── 84c2b2b99923d5e7e1341b128d87684942de1080.svn-base │ ├── 85 │ │ └── 852e9f078c989ef2c4b1dbde7b7c9b325797ebf9.svn-base │ ├── 86 │ │ └── 8636378332d91fd092e48c4c7e36b49dd76ee691.svn-base │ ├── 87 │ │ ├── 87b85e63004e91318b0a063b098a2baa496b4580.svn-base │ │ ├── 87c394b3f72e5274812e01dc82e02965018df6bf.svn-base │ │ └── 87e3ccbe49de8971c6ef1c6a9fbd0cccd84f53b0.svn-base │ ├── 88 │ │ └── 882e012af6877c1162a78e1419c880be5504daa8.svn-base │ ├── 89 │ │ ├── 897fcb61d77adea66d7b6bfe1ea4114cc0d3cbc9.svn-base │ │ └── 89a40cd7dd19abdc3a6d2c540f5bf53675594142.svn-base │ ├── 90 │ │ └── 90828c0c40c1a6b6b33fb9088d9b9e9ed75ea454.svn-base │ ├── 91 │ │ └── 91ddca78dc8a440c829630d518ef78e8f9cd7618.svn-base │ ├── 92 │ │ ├── 9267d5f5cc779547429b62949d352e3ba40b5a9f.svn-base │ │ └── 92d5060be616a4f637e69aa7c4548a08b91d6276.svn-base │ ├── 93 │ │ └── 93f204fd13936f1e5ab1857b8c5d737bd01df78f.svn-base │ ├── 94 │ │ ├── 943b82b14ef85715ec21366c16d15f76c7b45ddc.svn-base │ │ ├── 944be04b4ce62d05a0b180fb0e5db2aa5f03acd9.svn-base │ │ ├── 945b043bdcc75a0614b5fdf0b9f71bd6cc748fb5.svn-base │ │ └── 94a2199f0637bf3b2516be743c30038e880a9eb4.svn-base │ ├── 96 │ │ ├── 9680f0625a9110433b92b4f2ea3cbf88ddbd431e.svn-base │ │ ├── 969af1a603998e141932e86f923b758731a93fe8.svn-base │ │ └── 96a557cb156cfbd8bf8ab52713546030fbb96616.svn-base │ ├── 97 │ │ └── 97d170e1550eee4afc0af065b78cda302a97674c.svn-base │ ├── 98 │ │ ├── 984ed95559d8839532093da0dcca3bf37f49ca77.svn-base │ │ ├── 986e1aea742de99941697139b012ddefbf0c5348.svn-base │ │ ├── 98c27656787e98fcc3748a5e96b9907a1799268c.svn-base │ │ ├── 98dc5df45d393de560ee2a39b02b5ed75cf8266f.svn-base │ │ ├── 98dec1fbe7e1e451d2380f28be9aef4abf106156.svn-base │ │ └── 98f700043a9a954677ef8c7c6d4462b7f97c16af.svn-base │ ├── 99 │ │ ├── 99349cfc479dc792ee5bcd0c858df18be34cfb3c.svn-base │ │ ├── 9975ecfd2380c8d51e61eaa79734ea11514296b0.svn-base │ │ ├── 9978d9d13a386eaea9ea91c154f3e38000e48f95.svn-base │ │ └── 9982e333cfea486008a58c98c1db98d6b66f28c3.svn-base │ ├── 00 │ │ ├── 0008715cc8adff664909c54ae12dec59752e47fc.svn-base │ │ ├── 00aeb965d27aa9a6f1b80b6fe65e2c0c763565ef.svn-base │ │ └── 00ff890e8493d10b07d5d3fafa23639bb071e443.svn-base │ ├── 01 │ │ └── 01478432d59fd76b12a5e93ec911aaff0285cd55.svn-base │ ├── 02 │ │ ├── 020d4cdecc6d2832798a437f93a2368d85b53b91.svn-base │ │ └── 023a2e62ab2e6be9f30dee97fd238bfd201a7ef7.svn-base │ ├── 05 │ │ ├── 0501c978d8b4bdb0883f06f604139896aa3634bd.svn-base │ │ ├── 050f2e27aa941b4b10c746620877f1c8a8964c71.svn-base │ │ ├── 0536bc5e32c0dfbb3d94109b21b3d4d15e353748.svn-base │ │ └── 0568b7f96e9e2467c8559779d4be992eacbe358f.svn-base │ ├── 06 │ │ ├── 0636a8e52435c1af769a770f69334ae447310dc4.svn-base │ │ └── 06441cd45a0534b6f613129170a208abf18643cc.svn-base │ ├── 07 │ │ ├── 07093ca2075f52d3d07b399a52f4a7491928fb1c.svn-base │ │ ├── 071666a682d969e5923bfcc9952dd332fbb52d66.svn-base │ │ ├── 077f7a4c3a7d9fded370fc41cd610e1c7473922e.svn-base │ │ ├── 07b9a3afd96199c4b6b18b48206ff4a3979930f8.svn-base │ │ ├── 07e5ecc64dbfbb9d6f9bc22e7e163c2db8e18dc7.svn-base │ │ └── 07fbd1e828aab72a9efcb3402071cb4f801d85eb.svn-base │ ├── 08 │ │ └── 086fd34b3d1ab13be88c787073dd87bcbd4e5aa9.svn-base │ ├── 09 │ │ ├── 09835c852bf2b04f3a03fb6b1dd14d86e05ae6fe.svn-base │ │ └── 09eb4940fceb42891bdc25555475b6efa876f402.svn-base │ ├── 0a │ │ ├── 0a413f8a70590b939c7cb1f92789f6bf24db143c.svn-base │ │ ├── 0a57ee51c33d2ad44ee5ebbe3c55f943193f43f2.svn-base │ │ └── 0ac9f5825ee4de80429a92fc21aaf4df314ed4e4.svn-base │ ├── 0b │ │ └── 0b17c945636fa77242c12edd1b995627b9cd9027.svn-base │ ├── 0c │ │ └── 0c85d850f5cf6b02676c48e2a45f6a908876a3ff.svn-base │ ├── 0d │ │ ├── 0d43a836dac65c0ea426ad49c881a1086600bf85.svn-base │ │ ├── 0d571c80a0923785fd20100b9db8c74993d035e7.svn-base │ │ └── 0d7314cc688f275b48a5ae363eba4f20de9935e5.svn-base │ ├── 0e │ │ ├── 0ec64f785872f2f3a2e8709165b20bdde5d45be9.svn-base │ │ └── 0ee25220185c3e718f5d1982a7575fcc112fa358.svn-base │ ├── 0f │ │ ├── 0f26a2f4f7d0045cef3b9cce5e2a6cf68ef93016.svn-base │ │ ├── 0f4232d284ff448d79c46ea96ffeec85fa451e90.svn-base │ │ └── 0f5250cc1c29c5147d901f241354d8a8c06a6dbb.svn-base │ ├── 1a │ │ ├── 1a80c022c1e46261c5b9d5a63961b1edae685845.svn-base │ │ ├── 1a86df17c7c2d28865bbb89f804ba70e8ba22869.svn-base │ │ ├── 1a90ba9b152881a4663883d395e3719ed6cf65ff.svn-base │ │ ├── 1a95f234d56d840a4b49c2498a277b70e4a20085.svn-base │ │ ├── 1ab9c8dc961bf64fc828d0909a506260a05c0e92.svn-base │ │ └── 1ac823bb42d75bf6f68797728501692bf918c1c1.svn-base │ ├── 1b │ │ ├── 1b51c74488eae21081116ecc46a45f4e8782f57a.svn-base │ │ ├── 1b8c6451c7a14e21d076f32a904e6f1d80635243.svn-base │ │ └── 1b97eb03d6b173f8188c4d262b15a18724003203.svn-base │ ├── 1c │ │ ├── 1c0c10a60c4f7389f756637407b8cbe7a8b94071.svn-base │ │ └── 1cf94fa3b90d844fb7ef23a6bf404a8cef0ec683.svn-base │ ├── 1d │ │ ├── 1d0fc55a8b02c1700098686f76682b3363e3be4b.svn-base │ │ ├── 1d7882d09059770c5b4dc1616ed4b08a917b0a77.svn-base │ │ └── 1d958a95c83c8648bdce40c53e6d49a034e405a7.svn-base │ ├── 1e │ │ └── 1ee28da8d0ef7eebb2949654fcd2b842fc8e9392.svn-base │ ├── 1f │ │ ├── 1fac2e8b532eb9062024c99e8ae7d0417f12520d.svn-base │ │ ├── 1fcf8acde702e5e4824d95706a33a586f3d28482.svn-base │ │ └── 1fe6190636462e94488b056a56770c84d48f3370.svn-base │ ├── 2a │ │ ├── 2a56eba1456479b0a967cf56d4f1a33a5eccd538.svn-base │ │ └── 2a7f0923ee79e5d4e0b9e04b341341cfe658245e.svn-base │ ├── 2b │ │ └── 2bd57f87ab5d1db3df75799d398345dadbfc1be1.svn-base │ ├── 2c │ │ └── 2c37106edc6fbbe0dccf969808bd7a1bf66c87df.svn-base │ ├── 2e │ │ ├── 2e56e046fe49365dbd8af18fc25824b53f6c4467.svn-base │ │ ├── 2e676b708073b0051ecea010958ef4eefa40be99.svn-base │ │ └── 2eaf9cadc33cd208a4a0378158a07fea397f6a91.svn-base │ ├── 2f │ │ ├── 2f2f6f310624012e3f9b651c2ef15fd7b7a55da4.svn-base │ │ └── 2f42d72ab05012858505a83e12cc740a25a26c57.svn-base │ ├── 3b │ │ └── 3bb82d0afa4311205c0384ca0fbd4e0ed65be296.svn-base │ ├── 3c │ │ └── 3cf2cdeed9c6fba5c6b373fbe2c9f2fb13845516.svn-base │ ├── 3d │ │ ├── 3d3006924f48523567cb35fec0f9ac7b05e01625.svn-base │ │ ├── 3d51c13be6cd7f115934bfa9ef8a3ddd3f571949.svn-base │ │ ├── 3d5eb716aa8848ce61380b6523fc74ce37f20b80.svn-base │ │ ├── 3d6f7211630fe9fbf1ce987ef6391dd91768734b.svn-base │ │ ├── 3d8d0415b77a840c7e81eac1677ae173110e8378.svn-base │ │ └── 3da69f176951db7c7729ce16b163931a13f2fb8a.svn-base │ ├── 3e │ │ ├── 3e2b59c552b7e985f2efee068aba34a0c7938409.svn-base │ │ ├── 3e9e5a2cfdd50095dc689307bf18355b68b62f88.svn-base │ │ └── 3ea29b2d3540bdfa5b8e33dae8db68835a7ad2c0.svn-base │ ├── 3f │ │ ├── 3f5c243f912e8e14df288f356403a5d920159b3e.svn-base │ │ └── 3f5d48a902a2ab5981f70e1deceaa72c2f4758f8.svn-base │ ├── 4a │ │ ├── 4a4bee8c9b26d90803d96031cedb3d5bc8a8f4df.svn-base │ │ ├── 4aad73461a526065eb4c5adcb18f4776dcf42c45.svn-base │ │ ├── 4adeb01992d6a023833c352a44da82e0bfe086f1.svn-base │ │ └── 4afffe8424f63668d0a34659abe0b8d87d7fcd85.svn-base │ ├── 4b │ │ ├── 4b711372ee318902fc94af29bc91a97f5253f5d8.svn-base │ │ ├── 4b93f9e804ffca8fa905acf5342dbdd4b75802bc.svn-base │ │ └── 4be954f1cb99a045bdf65a461d61582ed6fd98e4.svn-base │ ├── 4c │ │ └── 4cac3f02d5fdaa8776b49966206247acd3bd151e.svn-base │ ├── 4d │ │ ├── 4da4b70978b068934c1ab021ee26337e44b2e74e.svn-base │ │ ├── 4dc43e95bb7bc2b6b4da515781712ae113961cbc.svn-base │ │ └── 4dd20d33e1730df1e51d8436f5741c8783668ae3.svn-base │ ├── 4e │ │ ├── 4ed2eed2c942626d254c63da35dfed790a9ae6c1.svn-base │ │ └── 4ee021ca7cf023e091995b5ad3762198700d50e0.svn-base │ ├── 4f │ │ ├── 4f5053eda7a7432654d7af2d3abb9c72745fece2.svn-base │ │ └── 4ff7f0ca5f11681d9667ab18d2e0d112f5566696.svn-base │ ├── 5a │ │ ├── 5a07e0a871454d439d6a16a4222fcaed653b6792.svn-base │ │ ├── 5a444e85b4d45f9efa982ba51edc10edb6d9a082.svn-base │ │ ├── 5a4cd0465ebb9168e80ddd6bd7dabc8a8a7c48d2.svn-base │ │ ├── 5a4e4c24a4a9b6837ccef337c26e7c7ee1ba029c.svn-base │ │ └── 5abb695480f361a365592c1d7c42f966f7024bf2.svn-base │ ├── 5b │ │ ├── 5b34f4e89ac11885729a1f3e964b76c0cd19eb6d.svn-base │ │ ├── 5b5a3bef9af41758c6cc383fdd669394b5ce422d.svn-base │ │ └── 5b6f726af4d0d5d6731ff351c8cbd508f1f12378.svn-base │ ├── 5c │ │ └── 5c2e07533a840416b29b1af5178f1eb92057302f.svn-base │ ├── 5d │ │ ├── 5dc7deb2237d86b8a95d937518adb063e8612aaf.svn-base │ │ └── 5ddf1f5c21c05fa0dc3bfe21643a16dc7730a4cc.svn-base │ ├── 5e │ │ ├── 5e1e40b592ab5badaebee6d1cb845f34475bbeed.svn-base │ │ ├── 5e482a8a1a830d55b849679ab26b23146e90ceb9.svn-base │ │ └── 5ea9f9f490900bc66c213bf578bed5229f2ae874.svn-base │ ├── 5f │ │ ├── 5f07d285085b5b61e121f34730b6838f597e43c1.svn-base │ │ ├── 5f16350458f61899eaaeef4c86e9e32ebb27fcff.svn-base │ │ └── 5f7b9ccd00e6ccf3d74928a207e80cbbe2775324.svn-base │ ├── 6a │ │ ├── 6a5cfb8ac17d20c77ef8ba977d2d241f53fb6f8c.svn-base │ │ └── 6aa98650e031cd3666d2d0719a75c0bb2fad7b78.svn-base │ ├── 6b │ │ ├── 6b9c4a06aec0d5aeaa6fbe2b56012eeffa5ddf60.svn-base │ │ └── 6be3a80440907955074c9d6727e70023f68ebdea.svn-base │ ├── 6d │ │ ├── 6d2eec18b676983f9ee45471e85b1475b6a532e9.svn-base │ │ └── 6d5fdad812686665545d4f06638e75c1e64d3236.svn-base │ ├── 6e │ │ ├── 6e081c955ee08f9f533bf2856ac98f93906ef593.svn-base │ │ ├── 6e5639bd19a6cbe9e2d42468a7f87fad44fc68e7.svn-base │ │ └── 6e5821ddd8fea6681bda4448816f39984a33596b.svn-base │ ├── 6f │ │ ├── 6f5f2e5c4b49f5cf9a7b5337abb4a83a9a5d2770.svn-base │ │ └── 6fddd595a6e20eabd72fabf65e470b45ca83f539.svn-base │ ├── 7a │ │ ├── 7a39f3c0516e5ed28b462b061577583291a54f54.svn-base │ │ └── 7a6c5daf2454f4a7c0025e404870fc850053bc0c.svn-base │ ├── 7b │ │ ├── 7b3d778991ef6a3eaa7852414919b05b06a1b1a6.svn-base │ │ ├── 7b83a4f392668a375a081805b2cd766ae27ee1ff.svn-base │ │ └── 7b8979d7a63b025bb960e10ab937e7b18fc2ffbf.svn-base │ ├── 7c │ │ ├── 7c4d445bce0492dadb5b0307f355d65807599ce8.svn-base │ │ └── 7cef25ba75115df65b050d8ec66f34ef1594c9c5.svn-base │ ├── 7d │ │ ├── 7d5dc28c0c0e194add03ce5b05e6c26cb787e8c0.svn-base │ │ ├── 7d7396638e8f9917d67cb94312ab5f95d85dd691.svn-base │ │ └── 7dd6a5376d6f9dfa45a7499823adcece772b3f01.svn-base │ ├── 7e │ │ └── 7e208f03e4e95fff4731ac857c5cee8d7fc189fc.svn-base │ ├── 7f │ │ └── 7ff40fac92d84a09946736ad85846d9a65c97d8d.svn-base │ ├── 8a │ │ ├── 8a2f3d42843d0f43ddd58897fd2c043839d9e8a7.svn-base │ │ └── 8ae03d53e3875f7f73f292c120d720c6ae496214.svn-base │ ├── 8b │ │ └── 8b6477051a09d419baf797f906183571a65b9b82.svn-base │ ├── 8c │ │ └── 8cdc08f8719767132956180024130892c75d7c64.svn-base │ ├── 8d │ │ ├── 8d446ae32e199b1f39b07dcd1331f02fefd0a817.svn-base │ │ └── 8dbcbba4575b1801405d1d77f029b4c963ed23ce.svn-base │ ├── 8e │ │ ├── 8e0a4456296437b32b80e004035ce9a1b6df7fcd.svn-base │ │ ├── 8e4eb67092fb413fb90e7508407dc20d44097892.svn-base │ │ └── 8ee11eeef155cff27768377c0ddb798c51228612.svn-base │ ├── 8f │ │ ├── 8f070e55bc37d3dc1b464b387bad134d7d7b13e9.svn-base │ │ └── 8f1c8edad0338f65dace85a9b68ea469c858427b.svn-base │ ├── 9a │ │ ├── 9a0fab220c6d7283f2c866ab8e5612b2b1924974.svn-base │ │ ├── 9a395866b68ec2e1ef71a0630554383bf925beb1.svn-base │ │ └── 9ace235ca9a0a0241cf62e8c02f89d980b9fb147.svn-base │ ├── 9b │ │ └── 9b19e277caf8d91b1cf464dd4097847b9dfabe00.svn-base │ ├── 9c │ │ ├── 9c940b8ad631e9153cd19e1589627408a2a84759.svn-base │ │ └── 9ceeccfc53eb86d0887ad80fbcde28c29a22deda.svn-base │ ├── 9d │ │ ├── 9d0397179c773b475700b4d5f6c6d90902e4e46b.svn-base │ │ ├── 9d2120560b68a6cf2b0eab89ccfbf5b5336067a9.svn-base │ │ ├── 9d5d7a78c92ae51faf4e4c0515575e2f01a74c46.svn-base │ │ └── 9df4d0b0727af97325374186f61037e9e62695c9.svn-base │ ├── 9e │ │ ├── 9e20edf37aa0b9857ec270702326bec66094b02e.svn-base │ │ ├── 9e357d70834e1545f4596dc4a190cb64c3cf98c8.svn-base │ │ └── 9e6d7d608f78dd6ae8d09bfc9d46e41c7f287bb1.svn-base │ ├── 9f │ │ ├── 9f134ac65b5147b4144e0c009bf47c743c3b5b76.svn-base │ │ ├── 9f39ec9ecc5f8fc5fc6f9b632e4d999b027263bd.svn-base │ │ ├── 9f3e5a8f0bd0ff1c888f5d4ad97599749c5da1be.svn-base │ │ ├── 9f8fef782f0353a3ad76050b91e5789fa55bed18.svn-base │ │ └── 9fa4a4909db79d6f8746bc049022f1a363815ef7.svn-base │ ├── a0 │ │ ├── a04806af5c01574d2c9be645a633b9a41fb067ec.svn-base │ │ ├── a0bceba7c302eddf924024dd88da9ac891a63f48.svn-base │ │ └── a0e32b28eca5ac59df77e17ebdc7531f306859e9.svn-base │ ├── a1 │ │ └── a191a6f131adf7f373e01963d8c565f1b91d5f6b.svn-base │ ├── a2 │ │ └── a227b1870b037c3a18ce5228ebd2b85de56f2e22.svn-base │ ├── a3 │ │ ├── a3a2569e0e2d772a11f0f40ae74d78d453af5772.svn-base │ │ └── a3a2b17bde29c1bde37b128ebe3d7c83b793b26a.svn-base │ ├── a4 │ │ ├── a4001acba21c9c5e7877633bfe485e9a097a76d9.svn-base │ │ ├── a42964d78eae603e38c9654ef81a281c9b5acbd7.svn-base │ │ ├── a490b74c7447961df50345929eb938a1b4cd05a1.svn-base │ │ ├── a4cca1f85bf213aa3d936ba0ead623be380f942b.svn-base │ │ └── a4e4f8c40af082758a6057b8105821649a9f4e2c.svn-base │ ├── a5 │ │ ├── a54ef437254bf7f73ef6f7b054d84b3d14341808.svn-base │ │ ├── a5a73ddecf0723e9b25da6e067be2b9dff6ba781.svn-base │ │ ├── a5ec3d049c088c1bdf0fab52b2038f39d85bd5c7.svn-base │ │ └── a5f7616d70d56da84ccbf61ae3aed1dd8dbbde18.svn-base │ ├── a6 │ │ ├── a607dc50855ca7621d4f5cb9488fa102df31da04.svn-base │ │ ├── a61fec54cd8fa76a36f8efc1c78e8117f0be2a42.svn-base │ │ └── a6bf123a04478d2518a63db9ad03b5b4ec7aedc9.svn-base │ ├── a7 │ │ ├── a75c41b33e5d2c63198f04d221a03ffc5dd9d4c6.svn-base │ │ ├── a77edde8a7f6dc9528fb5626388520210958b0e4.svn-base │ │ ├── a780864094bce6870d7d32c548a73d1105b0b9b1.svn-base │ │ ├── a781c8b744b9fc5eab020edc44f3c93556f972a3.svn-base │ │ └── a7e408d2079e97f4edc197ff49e01aabfc2aef07.svn-base │ ├── a8 │ │ ├── a81bfbc4f347961faf9bf1f7f796405bdc55b6bd.svn-base │ │ └── a873dc3653696fb9e1fc8a731e68236e86ec49ec.svn-base │ ├── a9 │ │ ├── a99379f8b40694a970903457c49309a5a5cffe0c.svn-base │ │ ├── a9a378b22668e196d3e94e477ba7419c39fd313b.svn-base │ │ └── a9c19f9254a2ef5e0f7df95ab7dc4b35918a9fbd.svn-base │ ├── aa │ │ ├── aab17fe71e597a3a0543d68c9cb3bd5efdd667f6.svn-base │ │ ├── aace3592202deb5bf37a555bb587c4a7f7a24aa1.svn-base │ │ └── aaf59769d02189c8a197836d0ba84d30c1c19d6d.svn-base │ ├── ab │ │ ├── ab19e7a013264bab618abc32f5c3b27d2161ed9d.svn-base │ │ ├── ab211004bad21f637851c6ae69a429e4a0a88c0b.svn-base │ │ ├── ab32c97a4f5f63c73ce280ac67bb2b57a66c89a0.svn-base │ │ ├── ab601b32c4c4abbb8b8f931bdc469cef1f927d7b.svn-base │ │ └── ab6bdc3d872a36983834ea880b43d17ceef80a18.svn-base │ ├── ac │ │ ├── ac28e9c9246b6ed29d1cf21c461e0959eb810651.svn-base │ │ ├── ac5fa06ef33a62e12d3f676223f2ba443410ad08.svn-base │ │ ├── ac77d49a5caa36b855eb79a75ae16377cf336442.svn-base │ │ ├── acaa4c890c6472a1dbd7151494cf4d3688ee0e1d.svn-base │ │ └── acebe978e05f65f8bc812ffc920bd3cfe65a3654.svn-base │ ├── ad │ │ ├── ad425bf5119ce57a37e3fa126db0d4dcacb05013.svn-base │ │ ├── ad9895c8621f3c078274ee9ad8003df49daab191.svn-base │ │ └── adc83b19e793491b1c6ea0fd8b46cd9f32e592fc.svn-base │ ├── ae │ │ ├── ae214638ee4e3e3c5c676f64f387f806202ef03b.svn-base │ │ ├── ae30d7d7e4728b334fcb6b387a6af8ae62e99029.svn-base │ │ └── aeac8af57b6ff77d4c28645579fec2376eccf09a.svn-base │ ├── af │ │ ├── af1b34a8655a6a39832635a34dcbc060412ed6cb.svn-base │ │ ├── af2e9492dc28f8de8f275110fb743e9b78dbf797.svn-base │ │ ├── af5fa7e0e00dff4cc5cbbe5d0099f38069216a24.svn-base │ │ └── af6fc3c7944aab50510d009db81bdc0acd580995.svn-base │ ├── b0 │ │ ├── b008697e6e3f373248603a3393119fe128311af5.svn-base │ │ ├── b0683d2f03c8550a7a47885f5a88b6a86c7ef8a9.svn-base │ │ └── b0910f7fe85bd413936ce6272c403c70ac8186b7.svn-base │ ├── b1 │ │ ├── b1a21cc1178427c4685e06259611c6a5b241eadc.svn-base │ │ ├── b1a766a71b3271e43211d670a7354cf430a48bb7.svn-base │ │ └── b1db5d3d7ea0b58a73a5ef19c3cc1615fc97ea73.svn-base │ ├── b2 │ │ └── b2eb8ea2c0175119482ee70555eaf6141bc82ead.svn-base │ ├── b3 │ │ ├── b39edc30ccb044dc6ee0514b7125edec7f0ec2df.svn-base │ │ ├── b3bb70418c3e17a3a9b7c523d22b8878ce4979f5.svn-base │ │ └── b3be71338900ca4acc2e3f2b0dee2e3f5a3623fc.svn-base │ ├── b4 │ │ └── b4535b05b91e72e10c28f59bd042dc174ea71759.svn-base │ ├── b5 │ │ ├── b5285ddebee3e9eb613a9d0558dd982f36463586.svn-base │ │ └── b52d3f5d9d311489a324938790dc8abb713578de.svn-base │ ├── b6 │ │ ├── b605810d68ee851511033386a0a6751d1fc73c7d.svn-base │ │ ├── b6332d34d3820c06e07eb31ab68a22b5365882aa.svn-base │ │ ├── b695b1c7a3fef4baaadb5bab4323ff7c5b2c9611.svn-base │ │ ├── b69ae1b6b95843c74d7d31f4166e160cffe09558.svn-base │ │ └── b6ae3d309926b691e6e8be5df7e9ec7e22ddaf62.svn-base │ ├── b7 │ │ └── b7ecbf20876821ca930ec5a9390836ab0b644dd1.svn-base │ ├── b8 │ │ └── b86d0c96a67c31ebb93d1dfbc506289cd8ed30c0.svn-base │ ├── b9 │ │ └── b902de3be52c547af99acb9a2d5c0b87f4091750.svn-base │ ├── ba │ │ └── ba326b7c88cb86b492da22e4d4668ee6e36bfd9e.svn-base │ ├── bb │ │ ├── bb7d9ee5e95b60b2a29837a197020b2c885c3a7c.svn-base │ │ └── bbe6288c328218567ae83566c7e42af75054041c.svn-base │ ├── bc │ │ ├── bc2518f812eef5713556d847b933230c00bb22d4.svn-base │ │ └── bc5ea804a025dffde14fbf3746e34487196073d7.svn-base │ ├── bd │ │ └── bdfa1c7c7d66fa1f88c024f3df9151b171181e48.svn-base │ ├── be │ │ ├── be93036f1cf971607f07b63be21d98927b772003.svn-base │ │ └── beb270857acad664e77d52a299de41b979e0c4e6.svn-base │ ├── bf │ │ ├── bf3858352cd0af109beaa5da32e3593c7729e3d2.svn-base │ │ └── bf8051def4af0bf4b04ad3c997a64a356d2efecb.svn-base │ ├── c0 │ │ ├── c01f5f2c08ef189e53f06974da14ac24dacfd423.svn-base │ │ ├── c05f9a90bb867546a1e61cdfe50d13688997c671.svn-base │ │ └── c0a1e73fbaacb48dd606b30ca01ee4e3621c9394.svn-base │ ├── c1 │ │ └── c1b041f258877f047160a4122b111505b3fd1fb2.svn-base │ ├── c2 │ │ ├── c21dcaea2ee77cd6195adb573f5ea85895ac571a.svn-base │ │ ├── c242d71b1f88cde9effab8ebf1fa4f216bd8d2fa.svn-base │ │ ├── c2c6922f8c6b6252f71692447b040ac60c486605.svn-base │ │ └── c2d158093e235ae5d14f66c1bba647bbc80a4936.svn-base │ ├── c3 │ │ └── c34e1c5132a234e87c5ef79d8d3aed7e5be216b9.svn-base │ ├── c4 │ │ └── c4889931af9c6b3f9d1370e8c6ca94714aa5d4be.svn-base │ ├── c5 │ │ ├── c58807a2e493d00c610f02f06db0a80c112d5dd5.svn-base │ │ └── c5f844bfee05a738a3559a8430e6d952dae432c1.svn-base │ ├── c6 │ │ ├── c62e5049dadac85c8bf16ae3fb3dce001215d559.svn-base │ │ ├── c6604885c8cf78aa451e1ecab7dad0674f2e1409.svn-base │ │ ├── c686e858185c386c56ee939d7acde1887cca1ace.svn-base │ │ ├── c6af59193f3991391c4f2b2a0cf01910cdd39c26.svn-base │ │ └── c6c5f3d3a051faf9b813ff70c743e80fdc6ad190.svn-base │ ├── c7 │ │ ├── c74d27b65db9becc1d4778535def2d0964c2cc86.svn-base │ │ ├── c79c1de98664360e3b2b5a235e3a55f76cea6295.svn-base │ │ └── c7cee5d08a3a51b05696a44acede1c9c8610bc0b.svn-base │ ├── c8 │ │ ├── c8477c8198722d65839c5c70691c520afedc2cbe.svn-base │ │ ├── c86267cedb844d3ab60a45c960761fc5b789eb0d.svn-base │ │ ├── c8a21830797dff959587f129191261300a53e898.svn-base │ │ ├── c8cc2a9d0e0bae25715e8ec58098609301c95b8f.svn-base │ │ └── c8defcd3169d2eb59fefd806d96cd136991e9bf0.svn-base │ ├── c9 │ │ ├── c98bba03ebc076049b09e2a3168633079a3ea7b1.svn-base │ │ ├── c9cab0f27c50fdd51cade562b08368b5c6b61cb1.svn-base │ │ ├── c9cc9e8faea8a7a6987332b345b33bc3e6d6d2a6.svn-base │ │ ├── c9cca7140532f20e64de715038cbb82182391b60.svn-base │ │ └── c9fa078ee96f61edcd96f45b068b7510af70e6a2.svn-base │ ├── ca │ │ ├── ca2e856e43782661657dedfe79636a58cb6a4d8d.svn-base │ │ ├── ca85761c754ed8a9245ef1070fc13c0545e9804c.svn-base │ │ └── cad1ae587b9ad58fd731f0b610a96b83868047ef.svn-base │ ├── cb │ │ ├── cb1dc6aa93b784a51c666e6929beb8642cce0f82.svn-base │ │ ├── cb202dd75c7a1d132f30908e8c6bbb89c788c732.svn-base │ │ ├── cb4325c687be28eaf63daba4a06459f6b77775dc.svn-base │ │ ├── cb64c487a3e56eecb28100143bd537e095b71a60.svn-base │ │ └── cb87a135c1c6bd3c4c13333df000e172ee0ad9b4.svn-base │ ├── cc │ │ ├── cc55faa43ef76b6ccc133430796742b487c3417a.svn-base │ │ └── cc5aa97cd319e736d1c2ccf7971e8fd6e9a0a71f.svn-base │ ├── cd │ │ └── cd1c327f3f8ffbd4165abf077d58efddaaee190b.svn-base │ ├── ce │ │ ├── ce796ac1580acab7870f3d4073fb096e154ecc1d.svn-base │ │ ├── ce87dbd258d3e04e40ff873f5c1ad4925f29ca1e.svn-base │ │ └── cec1bccf31b82debc22ec1170a6d9f71c1630807.svn-base │ ├── cf │ │ ├── cf120440e59032da490aa8fdc118b6f764fe495d.svn-base │ │ ├── cf3eaf29116a37a7d9ba773e776104c067c8e5fc.svn-base │ │ ├── cf5f091c982225ba6bb168ca84deea63ba2abc92.svn-base │ │ ├── cfa698ef88230fbe6862cb300268a3a647ecc71d.svn-base │ │ ├── cfc67a3e4d8ab3335a4ef510e61f787fed46062a.svn-base │ │ └── cfe0d2ac79042c3e56bf5ee67ccb1ff7a8e0092a.svn-base │ ├── d1 │ │ ├── d108daa91d1b5f36874acccad659e15376d2037b.svn-base │ │ ├── d1a6ae67478d28a17d9ac7d89dfbf68929b8af73.svn-base │ │ └── d1dac70b87e33b75898edebc97c821884920a5a8.svn-base │ ├── d2 │ │ └── d2446b13a6178492c9ccf6231651bc615bbd46ac.svn-base │ ├── d3 │ │ ├── d328115b8b43c76e8478754993c575bb04c9b158.svn-base │ │ ├── d36537092e34b0229af222a60f61f7588aad2b99.svn-base │ │ ├── d374dbd751e5cd1893d2f54d19303b7521aea3df.svn-base │ │ ├── d38d04549b67abaf06838708ff3340644e4dd0bc.svn-base │ │ └── d3bc982d9f63b57b38927d7051049ef526753510.svn-base │ ├── d4 │ │ ├── d4638f11a28ceb03271be64334790eb399f071b3.svn-base │ │ └── d4e3f15593ce4e331a851678aad0971e26cfc523.svn-base │ ├── d5 │ │ ├── d50f449e78a432e89e3ef2731c444beff03ee126.svn-base │ │ ├── d537e5f37ca8016861296ab569b193afbb9ad8b3.svn-base │ │ └── d5732cb84ca2bb1fb3ac8fbbe6a48a3d96cf454e.svn-base │ ├── d6 │ │ ├── d6587cf26b99722395d4c0f3ec008c06cb93ee5d.svn-base │ │ └── d6e7c649019c7624e120595aead0d07036828f98.svn-base │ ├── d7 │ │ ├── d764f911d999633f04fac010bb2ce3ad9dbe33d5.svn-base │ │ ├── d76b646e4bec40aabd3cbad84b789ec9e9f18ca0.svn-base │ │ ├── d76b8a136ea486a5a49139106f4e636cf600c001.svn-base │ │ ├── d78d9bd918fb65073ea264aaa15ee2af1af2da8e.svn-base │ │ ├── d7a03141d5d6b1e88b6b59ef08b6681df212c599.svn-base │ │ └── d7a31c0034699e9a95170489c17d4739c146eb98.svn-base │ ├── d8 │ │ └── d82f396e979d9e058eff7afc922050cf4f153a51.svn-base │ ├── da │ │ ├── da0ddbbce760c0b79b4d3bb690019e9804861c70.svn-base │ │ ├── da1fd851fb534824f984a34e95b6a95c6198240e.svn-base │ │ ├── da39a3ee5e6b4b0d3255bfef95601890afd80709.svn-base │ │ ├── da5f589723af2d8ca25ee618e53ba231ea95af95.svn-base │ │ └── dae6c27f52ada99ec5e143941ad54b803d2dc259.svn-base │ ├── db │ │ ├── db44178e9a4908f7256c85a75a7374fb57bf868f.svn-base │ │ └── db5ad4047ef200560265ce4c3d62a77ee8566b3a.svn-base │ ├── dc │ │ ├── dc1ad3197e254a2fd0458b53f7cfb09d40fc85c7.svn-base │ │ ├── dc62e9edf878704c2f62de315aeb3831d4f192b2.svn-base │ │ ├── dc95d83cdad39dbe4873a96a3924b2043a688cce.svn-base │ │ └── dcc088b66024ba28365a3654a08b0de8f90f015a.svn-base │ ├── dd │ │ ├── dd2063be41376a2d2333cac6915c57eeb4b166ce.svn-base │ │ └── dd9a9bdb5416a2d26e4992a9f0e0818fd0ee372f.svn-base │ ├── de │ │ └── dee07cd1d9fbf69bcb22e01717b65ff2db116cbb.svn-base │ ├── df │ │ ├── dfc94ba32de2c61e02392da651d2b4a41be3fe25.svn-base │ │ └── dfd867ea16be24e75c1a4c152c732d91e834ec58.svn-base │ ├── e0 │ │ ├── e040a84c308a19e533b507205f2799527f3c5afc.svn-base │ │ └── e044d2db5e9cb09bb1b5ce52022587d004cfe932.svn-base │ ├── e1 │ │ └── e1480c3292c36538949877ed7c80c6d41d8a542a.svn-base │ ├── e2 │ │ └── e267989b43eb9faa4f07782d95fa9c7b95dba4e3.svn-base │ ├── e3 │ │ ├── e3238c8a929d45a2c34f8bcaafd759b95c5530d6.svn-base │ │ └── e363ce0d31b8bbac5c9d78023cf5e10c7adeb486.svn-base │ ├── e4 │ │ ├── e40857f1e67fb712c6b259b818841166fd4fadfa.svn-base │ │ ├── e41598ca7b517dba7dfc58049922365ea428febe.svn-base │ │ ├── e4390e9491cef38858c8ec6e56e8ffd1d5f511d9.svn-base │ │ ├── e4527be6061f8b9bcc361d7abb4ff6f2379f0edf.svn-base │ │ ├── e4653a6a9c7a1ba1b326c9914b43cfc354fe1928.svn-base │ │ └── e4f3acba527b7ec237b626cedf4f1a55f60731cd.svn-base │ ├── e6 │ │ ├── e619247be1babc05b50abfe079b86f0663c9e0c3.svn-base │ │ ├── e65f3eaa8a3cf3dc317002d74e461e201967a6c1.svn-base │ │ ├── e6ddbbe263e9ba556616c36c8e60e2175a5121cb.svn-base │ │ ├── e6f4464622b4378b394bf497f04afd373e2dd994.svn-base │ │ └── e6f75916f3d212ce75241842777a7b3ead79244e.svn-base │ ├── e7 │ │ ├── e71e0f13cac948609bc6a598e2de782e0a91fb6b.svn-base │ │ ├── e7a49b273f779fd8f5884e8f2619cdfd00d96bba.svn-base │ │ └── e7b80b249b8a194b29acaa3b3709f655d75a7a62.svn-base │ ├── e8 │ │ ├── e84ecde732c4234784684cb73e3f337f13bdaf4a.svn-base │ │ ├── e881b48d8c9cf6a7e12740f5e394ae1f8e94c6b1.svn-base │ │ └── e8ccf2146a44b1aa137093396ad3d522f86a561a.svn-base │ ├── e9 │ │ ├── e906c93851daf76973ff06de80579a25bf71377a.svn-base │ │ ├── e980cb97d05038f5db19ef8d719cfa2b403a48b4.svn-base │ │ └── e9d23d48f86beeb348cf4bdfc2c3bbad63fda5b1.svn-base │ ├── ea │ │ ├── ea029c6667bb6d574162156cff8f40770095d8e9.svn-base │ │ ├── ea5433be8193cbfa0f6454467e45ec2d7df63d55.svn-base │ │ └── ea754e241e066d60aa3e231d0c05a88b06b564b4.svn-base │ ├── eb │ │ ├── eb11362b95754eaf91c720d7ddb1dc91c9ab7c96.svn-base │ │ ├── eb55fdad8905338258e9e857f079b32b2c347cd8.svn-base │ │ └── ebc979d0bca3e8f2136ad3b5b6ebbfc62195e12f.svn-base │ ├── ec │ │ ├── ece51c3b4f64e6d6f15f4e8a6546ee81c8214853.svn-base │ │ ├── ece9c96cdb6eb0ef51b2a04163be5a124702f0e3.svn-base │ │ └── ecec641c1b246fde024dfd5a23c8d56737217b71.svn-base │ ├── ed │ │ ├── ed976d2e2595d22bd991e50589fd5fbf61e6c410.svn-base │ │ └── edfef8c28e35866801532714672dc4c3f8eaa515.svn-base │ ├── ee │ │ └── eeb555bef8b05f40c0aa6d81bf2b323b875fc653.svn-base │ ├── ef │ │ ├── ef0d82426b4f1a25a7d827ae893b4ac6125195f4.svn-base │ │ ├── ef157ec637c97675ac441faac859df292603cee1.svn-base │ │ ├── ef16a7892614d638cd0b989921e2c479a82bda61.svn-base │ │ └── ef2af9f4b6d920e825f673a69903e67809b2caa6.svn-base │ ├── f0 │ │ ├── f02c00e0f57b81a6ea652f22e4934258f5ef00c7.svn-base │ │ └── f054c822fc5509cd78250a0754cec0036514058b.svn-base │ ├── f1 │ │ ├── f123a014ac9a8b89fd52d44eb9df525593ba54d5.svn-base │ │ ├── f15d6b837aea451b59fe38885f74e68036ff5813.svn-base │ │ ├── f181086c9af70cddefeefacdfc8fb728ee538c38.svn-base │ │ └── f1ec9284ab565840b482d0cf5247700653989973.svn-base │ ├── f2 │ │ └── f28279823232e5998e990471ed03299eeebe3f9a.svn-base │ ├── f3 │ │ ├── f32263e41d081eb70df92611e15e78f9daf97e3d.svn-base │ │ └── f367295dff43ab10d9c1a0f9d30c462d5b2b6650.svn-base │ ├── f4 │ │ ├── f47ebb1a4cffbcfc42a56c3c3bfba570b4718adc.svn-base │ │ └── f49005b194f8ef2418c8e03fc51e5e8ac64a0cfb.svn-base │ ├── f5 │ │ └── f583d01ea725d06785a47be5aa47a9586cb4e843.svn-base │ ├── f6 │ │ ├── f6b751bd601dcf25f3b656671149100471db7b68.svn-base │ │ ├── f6b930bc847eb0f0c59ff2d1365b57a331ba0a0e.svn-base │ │ └── f6ecd5d34962a5b81b71bdc40b140d553a0c120e.svn-base │ ├── f7 │ │ ├── f708def9ce26b000424c385ba935886c8d0e658e.svn-base │ │ └── f70baefcd39ba2932dcbcb33b7275e381fbc6f1f.svn-base │ ├── f9 │ │ ├── f92f0b57596ec180fb1505d3b3b966f07d61dfaa.svn-base │ │ ├── f950143e883e2b07416ee1b87154d0683629c6fe.svn-base │ │ ├── f96064c94bbeedf44e0c51b142515c50028a74cd.svn-base │ │ ├── f961c8fc6f915c8460546da8620c850d867f38d5.svn-base │ │ ├── f97715193310272de1226fd6fc9874a9210a30f4.svn-base │ │ ├── f986134224e94460e30c030019b339a6465a0ef2.svn-base │ │ └── f99ba197af5a921e1c7869f447229f57a552d0a6.svn-base │ ├── fa │ │ ├── fa159fdddfc0f2ff1438778ef6712d89144c382f.svn-base │ │ ├── fa319aa453ff6c19f7208be6068c18005de2488f.svn-base │ │ ├── faa798fb4028483ebdf60fa049001f975e7c9ba5.svn-base │ │ └── faa9163fd012fcbb8679964cb5127d6687370d4a.svn-base │ ├── fb │ │ └── fb9c9acbda5254f672a72c5093c28413c3e24fd3.svn-base │ ├── fc │ │ ├── fc17016d4aa0e10a7f5ccf90c72bc73add963bba.svn-base │ │ ├── fc23ef8784cc8321811dc059fb7f701639219cb5.svn-base │ │ ├── fc5bae75ccc439258055876e2643b34099e98fd9.svn-base │ │ └── fc99eec2b4d6a416c42f34362c611a0c1f786076.svn-base │ ├── fd │ │ ├── fd01932ca393493dcf086b8ed81f908da06f9535.svn-base │ │ └── fd51fb1f91041900d6d370eea4f87f02d662d768.svn-base │ ├── fe │ │ ├── fe5d2244181e46bc1add56ecf933f5cbe73beb1a.svn-base │ │ └── fe826e4a37125ed326535b70cb9eb634f4b8b0eb.svn-base │ └── ff │ │ ├── ff68834e9496bb576a0d03404e0c49fc637876f6.svn-base │ │ └── fff6cf89686bfe52af5acb18f0cbbce1d8a90391.svn-base ├── wc.db └── wc.db-journal ├── README.md ├── config └── env_config.yml ├── test_all_run.py ├── test_case ├── conftest.py └── test_postman_api.py ├── testdata └── testdata.xlsx └── utils ├── __init__.py ├── get_file_path.py └── read_excel.py /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | *.egg-info/ 24 | .installed.cfg 25 | *.egg 26 | MANIFEST 27 | 28 | # PyInstaller 29 | # Usually these files are written by a python script from a template 30 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 31 | *.manifest 32 | *.spec 33 | 34 | # Installer logs 35 | pip-log.txt 36 | pip-delete-this-directory.txt 37 | 38 | # Unit test / coverage reports 39 | htmlcov/ 40 | .tox/ 41 | .coverage 42 | .coverage.* 43 | .cache 44 | nosetests.xml 45 | coverage.xml 46 | *.cover 47 | .hypothesis/ 48 | .pytest_cache/ 49 | 50 | # Translations 51 | *.mo 52 | *.pot 53 | 54 | # Django stuff: 55 | *.log 56 | local_settings.py 57 | db.sqlite3 58 | 59 | # Flask stuff: 60 | instance/ 61 | .webassets-cache 62 | 63 | # Scrapy stuff: 64 | .scrapy 65 | 66 | # Sphinx documentation 67 | docs/_build/ 68 | 69 | # PyBuilder 70 | target/ 71 | 72 | # Jupyter Notebook 73 | .ipynb_checkpoints 74 | 75 | # pyenv 76 | .python-version 77 | 78 | # celery beat schedule file 79 | celerybeat-schedule 80 | 81 | # SageMath parsed files 82 | *.sage.py 83 | 84 | # Environments 85 | .env 86 | .venv 87 | env/ 88 | venv/ 89 | ENV/ 90 | env.bak/ 91 | venv.bak/ 92 | 93 | # Spyder project settings 94 | .spyderproject 95 | .spyproject 96 | 97 | # Rope project settings 98 | .ropeproject 99 | 100 | # mkdocs documentation 101 | /site 102 | 103 | # mypy 104 | .mypy_cache/ 105 | -------------------------------------------------------------------------------- /.idea/api_auto_test.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 13 | 14 | 17 | -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.svn/entries: -------------------------------------------------------------------------------- 1 | 12 2 | -------------------------------------------------------------------------------- /.svn/format: -------------------------------------------------------------------------------- 1 | 12 2 | -------------------------------------------------------------------------------- /.svn/pristine/00/00ff890e8493d10b07d5d3fafa23639bb071e443.svn-base: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Hynek Schlawack 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /.svn/pristine/02/020d4cdecc6d2832798a437f93a2368d85b53b91.svn-base: -------------------------------------------------------------------------------- 1 | # This file is dual licensed under the terms of the Apache License, Version 2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository 3 | # for complete details. 4 | from __future__ import absolute_import, division, print_function 5 | 6 | __all__ = [ 7 | "__title__", 8 | "__summary__", 9 | "__uri__", 10 | "__version__", 11 | "__author__", 12 | "__email__", 13 | "__license__", 14 | "__copyright__", 15 | ] 16 | 17 | __title__ = "packaging" 18 | __summary__ = "Core utilities for Python packages" 19 | __uri__ = "https://github.com/pypa/packaging" 20 | 21 | __version__ = "19.0" 22 | 23 | __author__ = "Donald Stufft and individual contributors" 24 | __email__ = "donald@stufft.io" 25 | 26 | __license__ = "BSD or Apache License, Version 2.0" 27 | __copyright__ = "Copyright 2014-2019 %s" % __author__ 28 | -------------------------------------------------------------------------------- /.svn/pristine/05/0536bc5e32c0dfbb3d94109b21b3d4d15e353748.svn-base: -------------------------------------------------------------------------------- 1 | function global:deactivate ([switch]$NonDestructive) { 2 | # Revert to original values 3 | if (Test-Path function:_OLD_VIRTUAL_PROMPT) { 4 | copy-item function:_OLD_VIRTUAL_PROMPT function:prompt 5 | remove-item function:_OLD_VIRTUAL_PROMPT 6 | } 7 | 8 | if (Test-Path env:_OLD_VIRTUAL_PYTHONHOME) { 9 | copy-item env:_OLD_VIRTUAL_PYTHONHOME env:PYTHONHOME 10 | remove-item env:_OLD_VIRTUAL_PYTHONHOME 11 | } 12 | 13 | if (Test-Path env:_OLD_VIRTUAL_PATH) { 14 | copy-item env:_OLD_VIRTUAL_PATH env:PATH 15 | remove-item env:_OLD_VIRTUAL_PATH 16 | } 17 | 18 | if (Test-Path env:VIRTUAL_ENV) { 19 | remove-item env:VIRTUAL_ENV 20 | } 21 | 22 | if (!$NonDestructive) { 23 | # Self destruct! 24 | remove-item function:deactivate 25 | } 26 | } 27 | 28 | deactivate -nondestructive 29 | 30 | $env:VIRTUAL_ENV="E:\PycharmProjects\pytest_requests_demo\venv" 31 | 32 | if (! $env:VIRTUAL_ENV_DISABLE_PROMPT) { 33 | # Set the prompt to include the env name 34 | # Make sure _OLD_VIRTUAL_PROMPT is global 35 | function global:_OLD_VIRTUAL_PROMPT {""} 36 | copy-item function:prompt function:_OLD_VIRTUAL_PROMPT 37 | function global:prompt { 38 | Write-Host -NoNewline -ForegroundColor Green '(venv) ' 39 | _OLD_VIRTUAL_PROMPT 40 | } 41 | } 42 | 43 | # Clear PYTHONHOME 44 | if (Test-Path env:PYTHONHOME) { 45 | copy-item env:PYTHONHOME env:_OLD_VIRTUAL_PYTHONHOME 46 | remove-item env:PYTHONHOME 47 | } 48 | 49 | # Add the venv to the PATH 50 | copy-item env:PATH env:_OLD_VIRTUAL_PATH 51 | $env:PATH = "$env:VIRTUAL_ENV\Scripts;$env:PATH" 52 | -------------------------------------------------------------------------------- /.svn/pristine/06/0636a8e52435c1af769a770f69334ae447310dc4.svn-base: -------------------------------------------------------------------------------- 1 | """Handle reading and writing JSON in UTF-8, on Python 3 and 2.""" 2 | import json 3 | import sys 4 | 5 | if sys.version_info[0] >= 3: 6 | # Python 3 7 | def write_json(obj, path, **kwargs): 8 | with open(path, 'w', encoding='utf-8') as f: 9 | json.dump(obj, f, **kwargs) 10 | 11 | def read_json(path): 12 | with open(path, 'r', encoding='utf-8') as f: 13 | return json.load(f) 14 | 15 | else: 16 | # Python 2 17 | def write_json(obj, path, **kwargs): 18 | with open(path, 'wb') as f: 19 | json.dump(obj, f, encoding='utf-8', **kwargs) 20 | 21 | def read_json(path): 22 | with open(path, 'rb') as f: 23 | return json.load(f) 24 | -------------------------------------------------------------------------------- /.svn/pristine/07/071666a682d969e5923bfcc9952dd332fbb52d66.svn-base: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | # file generated by setuptools_scm 3 | # don't change, don't track in version control 4 | version = '0.9.0' 5 | -------------------------------------------------------------------------------- /.svn/pristine/07/077f7a4c3a7d9fded370fc41cd610e1c7473922e.svn-base: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | from pip._vendor.msgpack._version import version 3 | from pip._vendor.msgpack.exceptions import * 4 | 5 | from collections import namedtuple 6 | 7 | 8 | class ExtType(namedtuple('ExtType', 'code data')): 9 | """ExtType represents ext type in msgpack.""" 10 | def __new__(cls, code, data): 11 | if not isinstance(code, int): 12 | raise TypeError("code must be int") 13 | if not isinstance(data, bytes): 14 | raise TypeError("data must be bytes") 15 | if not 0 <= code <= 127: 16 | raise ValueError("code must be 0~127") 17 | return super(ExtType, cls).__new__(cls, code, data) 18 | 19 | 20 | import os 21 | if os.environ.get('MSGPACK_PUREPYTHON'): 22 | from pip._vendor.msgpack.fallback import Packer, unpackb, Unpacker 23 | else: 24 | try: 25 | from pip._vendor.msgpack._packer import Packer 26 | from pip._vendor.msgpack._unpacker import unpackb, Unpacker 27 | except ImportError: 28 | from pip._vendor.msgpack.fallback import Packer, unpackb, Unpacker 29 | 30 | 31 | def pack(o, stream, **kwargs): 32 | """ 33 | Pack object `o` and write it to `stream` 34 | 35 | See :class:`Packer` for options. 36 | """ 37 | packer = Packer(**kwargs) 38 | stream.write(packer.pack(o)) 39 | 40 | 41 | def packb(o, **kwargs): 42 | """ 43 | Pack object `o` and return packed bytes 44 | 45 | See :class:`Packer` for options. 46 | """ 47 | return Packer(**kwargs).pack(o) 48 | 49 | 50 | def unpack(stream, **kwargs): 51 | """ 52 | Unpack an object from `stream`. 53 | 54 | Raises `ExtraData` when `stream` contains extra bytes. 55 | See :class:`Unpacker` for options. 56 | """ 57 | data = stream.read() 58 | return unpackb(data, **kwargs) 59 | 60 | 61 | # alias for compatibility to simplejson/marshal/pickle. 62 | load = unpack 63 | loads = unpackb 64 | 65 | dump = pack 66 | dumps = packb 67 | -------------------------------------------------------------------------------- /.svn/pristine/07/07b9a3afd96199c4b6b18b48206ff4a3979930f8.svn-base: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import 2 | 3 | from pip._internal.cli.base_command import Command 4 | from pip._internal.cli.status_codes import SUCCESS 5 | from pip._internal.exceptions import CommandError 6 | 7 | 8 | class HelpCommand(Command): 9 | """Show help for commands""" 10 | name = 'help' 11 | usage = """ 12 | %prog """ 13 | summary = 'Show help for commands.' 14 | ignore_require_venv = True 15 | 16 | def run(self, options, args): 17 | from pip._internal.commands import commands_dict, get_similar_commands 18 | 19 | try: 20 | # 'pip help' with no args is handled by pip.__init__.parseopt() 21 | cmd_name = args[0] # the command we need help for 22 | except IndexError: 23 | return SUCCESS 24 | 25 | if cmd_name not in commands_dict: 26 | guess = get_similar_commands(cmd_name) 27 | 28 | msg = ['unknown command "%s"' % cmd_name] 29 | if guess: 30 | msg.append('maybe you meant "%s"' % guess) 31 | 32 | raise CommandError(' - '.join(msg)) 33 | 34 | command = commands_dict[cmd_name]() 35 | command.parser.print_help() 36 | 37 | return SUCCESS 38 | -------------------------------------------------------------------------------- /.svn/pristine/07/07fbd1e828aab72a9efcb3402071cb4f801d85eb.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/07/07fbd1e828aab72a9efcb3402071cb4f801d85eb.svn-base -------------------------------------------------------------------------------- /.svn/pristine/08/086fd34b3d1ab13be88c787073dd87bcbd4e5aa9.svn-base: -------------------------------------------------------------------------------- 1 | """ logging API ('producers' and 'consumers' connected via keywords) """ 2 | 3 | -------------------------------------------------------------------------------- /.svn/pristine/0a/0ac9f5825ee4de80429a92fc21aaf4df314ed4e4.svn-base: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.31.1) 3 | Root-Is-Purelib: true 4 | Tag: py2-none-any 5 | Tag: py3-none-any 6 | 7 | -------------------------------------------------------------------------------- /.svn/pristine/0b/0b17c945636fa77242c12edd1b995627b9cd9027.svn-base: -------------------------------------------------------------------------------- 1 | [ 2 | "test_postman_api.py::test_timestamp[2016-10-10-2018-12-13-True]", 3 | "test_postman_api.py::test_timestamp[2016-10-2018-12-True]", 4 | "test_postman_api.py::test_timestamp[2016-10-10-2018-13-13-False]", 5 | "test_postman_api.py::test_timestamp[2016-10-10-2015-12-13-False]", 6 | "test_postman_api.py::test_timestamp[2016-10-10-2019-12-33-False]", 7 | "test_postman_api.py::test_timestamp[2019-12-33-2019-6-30-False]", 8 | "test_postman_api.py::test_timestamp[-2019-6-30-False]", 9 | "test_postman_api.py::test_timestamp[6-30-7-30-True]", 10 | "test_postman_api.py::test_timestamp[2017-2018-True]", 11 | "test_postman_api.py::test_timestamp[--False]", 12 | "test_postman_api.py::test_timestamp[abc-2019-6-30-False]", 13 | "test_postman_api.py::test_timestamp[20190501-2019-6-30-False]" 14 | ] -------------------------------------------------------------------------------- /.svn/pristine/0d/0d43a836dac65c0ea426ad49c881a1086600bf85.svn-base: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 Erik Rose 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of 4 | this software and associated documentation files (the "Software"), to deal in 5 | the Software without restriction, including without limitation the rights to 6 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 7 | of the Software, and to permit persons to whom the Software is furnished to do 8 | so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. 20 | -------------------------------------------------------------------------------- /.svn/pristine/0d/0d7314cc688f275b48a5ae363eba4f20de9935e5.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/0d/0d7314cc688f275b48a5ae363eba4f20de9935e5.svn-base -------------------------------------------------------------------------------- /.svn/pristine/0f/0f26a2f4f7d0045cef3b9cce5e2a6cf68ef93016.svn-base: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | import allure 3 | import pytest 4 | import requests 5 | ''' 6 | @author: lingshu 7 | @file: test_postman_api.py 8 | @time: 2019/7/8 20:54 9 | @desc: 测试postman API 10 | ''' 11 | 12 | @allure.feature('postman') 13 | @allure.story('postman-api') 14 | @pytest.mark.parametrize('timestamp,target,expected',[ 15 | ('2016-10-10','2018-12-13',True), 16 | ('2016-10','2018-12',True), 17 | ('2016-10-10','2018-13-13',False), 18 | ('2016-10-10','2015-12-13',False), 19 | ('2016-10-10','2019-12-33',False), 20 | ('2019-12-33','2019-6-30',False), 21 | ('','2019-6-30',False), 22 | ('6-30','7-30',False), 23 | ('2017','2018',False), 24 | ('','',False), 25 | ('abc','2019-6-30',False), 26 | ('20190501','2019-6-30',False) 27 | ]) 28 | def test_timestamp(timestamp,target,expected,env_config): 29 | """ 30 | 用例描述:测试不同的timestamp和target 31 | """ 32 | #从yml配置文件获取url 33 | url = env_config['host']['url'] 34 | payload = {'timestamp':timestamp,'target':target} 35 | r = requests.get(url,params=payload) 36 | print(r.url) 37 | result = r.json() 38 | assert result['before']==expected 39 | 40 | -------------------------------------------------------------------------------- /.svn/pristine/0f/0f4232d284ff448d79c46ea96ffeec85fa451e90.svn-base: -------------------------------------------------------------------------------- 1 | Metadata-Version: 2.0 2 | Name: allure-python-commons 3 | Version: 2.6.2 4 | Summary: Common module for integrate allure with python-based frameworks 5 | Home-page: https://github.com/allure-framework/allure-python 6 | Author: QAMetaSoftware, Stanislav Seliverstov 7 | Author-email: sseliverstov@qameta.io 8 | License: Apache-2.0 9 | Keywords: allure reporting report-engine 10 | Platform: UNKNOWN 11 | Classifier: Development Status :: 5 - Production/Stable 12 | Classifier: Intended Audience :: Developers 13 | Classifier: License :: OSI Approved :: Apache Software License 14 | Classifier: Topic :: Software Development :: Quality Assurance 15 | Classifier: Topic :: Software Development :: Testing 16 | Requires-Dist: attrs (>=16.0.0) 17 | Requires-Dist: pluggy (>=0.4.0) 18 | Requires-Dist: six (>=1.9.0) 19 | Requires-Dist: enum34; python_version < "3.4" 20 | 21 | UNKNOWN 22 | 23 | 24 | -------------------------------------------------------------------------------- /.svn/pristine/10/10a734e3a11c2c0ad08b1956b4e4ed5ba333ed73.svn-base: -------------------------------------------------------------------------------- 1 | class TomlError(RuntimeError): 2 | def __init__(self, message, line, col, filename): 3 | RuntimeError.__init__(self, message, line, col, filename) 4 | self.message = message 5 | self.line = line 6 | self.col = col 7 | self.filename = filename 8 | 9 | def __str__(self): 10 | return '{}({}, {}): {}'.format(self.filename, self.line, self.col, self.message) 11 | 12 | def __repr__(self): 13 | return 'TomlError({!r}, {!r}, {!r}, {!r})'.format(self.message, self.line, self.col, self.filename) 14 | -------------------------------------------------------------------------------- /.svn/pristine/10/10be5023755bf5314be4853ee5f628e9165a9eec.svn-base: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | import allure 3 | import pytest 4 | import requests 5 | from utils.read_excel import * 6 | ''' 7 | @author: lingshu 8 | @file: test_postman_api.py 9 | @time: 2019/7/8 20:54 10 | @desc: 测试postman API 11 | ''' 12 | 13 | test_data = get_xls() 14 | 15 | @allure.feature('postman') 16 | @allure.story('postman-api') 17 | @pytest.mark.parametrize('timestamp,target,expected',test_data) 18 | def test_timestamp(timestamp,target,expected,env_config): 19 | """ 20 | 用例描述:测试不同的timestamp和target 21 | """ 22 | #从yml配置文件获取url 23 | url = env_config['host']['url'] 24 | payload = {'timestamp':timestamp,'target':target} 25 | r = requests.get(url,params=payload) 26 | print(r.url) 27 | result = r.json() 28 | assert str(result['before'])==expected 29 | 30 | -------------------------------------------------------------------------------- /.svn/pristine/12/129102271b7b10d696e8af99564ca044a5275433.svn-base: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | certifi.py 6 | ~~~~~~~~~~ 7 | 8 | This module returns the installation location of cacert.pem. 9 | """ 10 | import os 11 | 12 | 13 | def where(): 14 | f = os.path.dirname(__file__) 15 | 16 | return os.path.join(f, 'cacert.pem') 17 | 18 | 19 | if __name__ == '__main__': 20 | print(where()) 21 | -------------------------------------------------------------------------------- /.svn/pristine/12/12dc726d536ac216ba05bb7eb8a014a5609a0da0.svn-base: -------------------------------------------------------------------------------- 1 | from .package_data import __version__ 2 | from .core import * 3 | -------------------------------------------------------------------------------- /.svn/pristine/12/12f532a20d5a745d8e7652553a11e873ccb6b127.svn-base: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import, division, print_function 2 | 3 | from functools import partial 4 | 5 | from . import converters, exceptions, filters, validators 6 | from ._config import get_run_validators, set_run_validators 7 | from ._funcs import asdict, assoc, astuple, evolve, has 8 | from ._make import ( 9 | NOTHING, 10 | Attribute, 11 | Factory, 12 | attrib, 13 | attrs, 14 | fields, 15 | fields_dict, 16 | make_class, 17 | validate, 18 | ) 19 | 20 | 21 | __version__ = "19.1.0" 22 | 23 | __title__ = "attrs" 24 | __description__ = "Classes Without Boilerplate" 25 | __url__ = "https://www.attrs.org/" 26 | __uri__ = __url__ 27 | __doc__ = __description__ + " <" + __uri__ + ">" 28 | 29 | __author__ = "Hynek Schlawack" 30 | __email__ = "hs@ox.cx" 31 | 32 | __license__ = "MIT" 33 | __copyright__ = "Copyright (c) 2015 Hynek Schlawack" 34 | 35 | 36 | s = attributes = attrs 37 | ib = attr = attrib 38 | dataclass = partial(attrs, auto_attribs=True) # happy Easter ;) 39 | 40 | __all__ = [ 41 | "Attribute", 42 | "Factory", 43 | "NOTHING", 44 | "asdict", 45 | "assoc", 46 | "astuple", 47 | "attr", 48 | "attrib", 49 | "attributes", 50 | "attrs", 51 | "converters", 52 | "evolve", 53 | "exceptions", 54 | "fields", 55 | "fields_dict", 56 | "filters", 57 | "get_run_validators", 58 | "has", 59 | "ib", 60 | "make_class", 61 | "s", 62 | "set_run_validators", 63 | "validate", 64 | "validators", 65 | ] 66 | -------------------------------------------------------------------------------- /.svn/pristine/15/151478b5f4a6291addb13da92ef3534597ed39a4.svn-base: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010 Jonathan Hartley 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, this 8 | list of conditions and the following disclaimer. 9 | 10 | * Redistributions in binary form must reproduce the above copyright notice, 11 | this list of conditions and the following disclaimer in the documentation 12 | and/or other materials provided with the distribution. 13 | 14 | * Neither the name of the copyright holders, nor those of its contributors 15 | may be used to endorse or promote products derived from this software without 16 | specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 22 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 24 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 25 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 26 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /.svn/pristine/15/155361cb9e6777adeb488974fa8cc5a223d5f61e.svn-base: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | if defined _OLD_VIRTUAL_PROMPT ( 4 | set "PROMPT=%_OLD_VIRTUAL_PROMPT%" 5 | ) 6 | set _OLD_VIRTUAL_PROMPT= 7 | 8 | if defined _OLD_VIRTUAL_PYTHONHOME ( 9 | set "PYTHONHOME=%_OLD_VIRTUAL_PYTHONHOME%" 10 | set _OLD_VIRTUAL_PYTHONHOME= 11 | ) 12 | 13 | if defined _OLD_VIRTUAL_PATH ( 14 | set "PATH=%_OLD_VIRTUAL_PATH%" 15 | ) 16 | 17 | set _OLD_VIRTUAL_PATH= 18 | 19 | set VIRTUAL_ENV= 20 | 21 | :END 22 | -------------------------------------------------------------------------------- /.svn/pristine/15/15576c12ae90688527cf229fef8b0074f4b87d44.svn-base: -------------------------------------------------------------------------------- 1 | urllib3 2 | -------------------------------------------------------------------------------- /.svn/pristine/16/169b06feddfda45f7cc41ad45ad0725078a6a743.svn-base: -------------------------------------------------------------------------------- 1 | [ 2 | "test_case/test_allure_demo.py::test_case_01", 3 | "test_case/test_allure_demo.py::test_case_02", 4 | "test_case/test_allure_demo.py::test_case_03", 5 | "test_case/test_allure_demo.py::test_case_04", 6 | "test_case/test_allure_demo2.py::test_case_01", 7 | "test_case/test_allure_demo2.py::test_case_02", 8 | "test_case/test_allure_demo2.py::test_case_03", 9 | "test_case/test_allure_demo2.py::test_case_04", 10 | "test_case/test_auth_login.py::TestAuthLogin::test_\u83b7\u53d6\u624b\u673a\u53f7\u7801\u9a8c\u8bc1\u7801", 11 | "test_case/test_auth_login.py::TestAuthLogin::test_\u83b7\u53d6\u57ce\u5e02\u5217\u8868", 12 | "test_case/test_auth_login.py::TestAuthLogin::test_\u6839\u636e\u57ce\u5e02ID\u83b7\u53d6\u5c0f\u533a\u5217\u8868", 13 | "test_case/test_house_controller.py::TestHoustController::test_house_list" 14 | ] -------------------------------------------------------------------------------- /.svn/pristine/17/173f4323024ea4ac4a10455b9d59877a53443b0e.svn-base: -------------------------------------------------------------------------------- 1 | """ 2 | Provides a function to report all internal modules for using freezing tools 3 | pytest 4 | """ 5 | from __future__ import absolute_import 6 | from __future__ import division 7 | from __future__ import print_function 8 | 9 | 10 | def freeze_includes(): 11 | """ 12 | Returns a list of module names used by pytest that should be 13 | included by cx_freeze. 14 | """ 15 | import py 16 | import _pytest 17 | 18 | result = list(_iter_all_modules(py)) 19 | result += list(_iter_all_modules(_pytest)) 20 | return result 21 | 22 | 23 | def _iter_all_modules(package, prefix=""): 24 | """ 25 | Iterates over the names of all modules that can be found in the given 26 | package, recursively. 27 | Example: 28 | _iter_all_modules(_pytest) -> 29 | ['_pytest.assertion.newinterpret', 30 | '_pytest.capture', 31 | '_pytest.core', 32 | ... 33 | ] 34 | """ 35 | import os 36 | import pkgutil 37 | 38 | if type(package) is not str: 39 | path, prefix = package.__path__[0], package.__name__ + "." 40 | else: 41 | path = package 42 | for _, name, is_package in pkgutil.iter_modules([path]): 43 | if is_package: 44 | for m in _iter_all_modules(os.path.join(path, name), prefix=name + "."): 45 | yield prefix + m 46 | else: 47 | yield prefix + name 48 | -------------------------------------------------------------------------------- /.svn/pristine/17/17897bb50172be567287fef2d85942f9b0fb19e2.svn-base: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | import allure 3 | import pytest 4 | import requests 5 | ''' 6 | @author: lingshu 7 | @file: test_postman_api.py 8 | @time: 2019/7/8 20:54 9 | @desc: 测试postman API 10 | ''' 11 | 12 | @allure.feature('postman') 13 | @allure.story('postman-api') 14 | @pytest.mark.parametrize('timestamp,target,expected',[ 15 | ('2016-10-10','2018-12-13',True), 16 | ('2016-10-10','2018-13-13',False), 17 | ('2016-10-10','2015-12-13',False), 18 | ]) 19 | def test_timestamp(timestamp,target,expected,env_config): 20 | """ 21 | 用例描述:测试不同的timestamp和target 22 | """ 23 | #从yml配置文件获取url 24 | url = env_config['host']['url'] 25 | payload = {'timestamp':timestamp,'target':target} 26 | r = requests.get(url,params=payload) 27 | print(r.url) 28 | result = r.json() 29 | assert result['before']==expected -------------------------------------------------------------------------------- /.svn/pristine/17/17a570ba185bf5bac0b670932d3ea74376e19f7b.svn-base: -------------------------------------------------------------------------------- 1 | ######################## BEGIN LICENSE BLOCK ######################## 2 | # The Original Code is mozilla.org code. 3 | # 4 | # The Initial Developer of the Original Code is 5 | # Netscape Communications Corporation. 6 | # Portions created by the Initial Developer are Copyright (C) 1998 7 | # the Initial Developer. All Rights Reserved. 8 | # 9 | # Contributor(s): 10 | # Mark Pilgrim - port to Python 11 | # 12 | # This library is free software; you can redistribute it and/or 13 | # modify it under the terms of the GNU Lesser General Public 14 | # License as published by the Free Software Foundation; either 15 | # version 2.1 of the License, or (at your option) any later version. 16 | # 17 | # This library is distributed in the hope that it will be useful, 18 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 20 | # Lesser General Public License for more details. 21 | # 22 | # You should have received a copy of the GNU Lesser General Public 23 | # License along with this library; if not, write to the Free Software 24 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 25 | # 02110-1301 USA 26 | ######################### END LICENSE BLOCK ######################### 27 | 28 | from .mbcharsetprober import MultiByteCharSetProber 29 | from .codingstatemachine import CodingStateMachine 30 | from .chardistribution import EUCKRDistributionAnalysis 31 | from .mbcssm import EUCKR_SM_MODEL 32 | 33 | 34 | class EUCKRProber(MultiByteCharSetProber): 35 | def __init__(self): 36 | super(EUCKRProber, self).__init__() 37 | self.coding_sm = CodingStateMachine(EUCKR_SM_MODEL) 38 | self.distribution_analyzer = EUCKRDistributionAnalysis() 39 | self.reset() 40 | 41 | @property 42 | def charset_name(self): 43 | return "EUC-KR" 44 | 45 | @property 46 | def language(self): 47 | return "Korean" 48 | -------------------------------------------------------------------------------- /.svn/pristine/18/1819fbb29296f7a6567942db8e50923d73732bcf.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/18/1819fbb29296f7a6567942db8e50923d73732bcf.svn-base -------------------------------------------------------------------------------- /.svn/pristine/18/185cda86a90370bce80633831b21f22c5833879e.svn-base: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 13 | 14 | 17 | -------------------------------------------------------------------------------- /.svn/pristine/19/195440f1488c8828ac1a6424f9e14b4e956596f0.svn-base: -------------------------------------------------------------------------------- 1 | # .-. .-. .-. . . .-. .-. .-. .-. 2 | # |( |- |.| | | |- `-. | `-. 3 | # ' ' `-' `-`.`-' `-' `-' ' `-' 4 | 5 | __title__ = 'requests' 6 | __description__ = 'Python HTTP for Humans.' 7 | __url__ = 'http://python-requests.org' 8 | __version__ = '2.21.0' 9 | __build__ = 0x022100 10 | __author__ = 'Kenneth Reitz' 11 | __author_email__ = 'me@kennethreitz.org' 12 | __license__ = 'Apache 2.0' 13 | __copyright__ = 'Copyright 2018 Kenneth Reitz' 14 | __cake__ = u'\u2728 \U0001f370 \u2728' 15 | -------------------------------------------------------------------------------- /.svn/pristine/1a/1a86df17c7c2d28865bbb89f804ba70e8ba22869.svn-base: -------------------------------------------------------------------------------- 1 | from .file_cache import FileCache # noqa 2 | from .redis_cache import RedisCache # noqa 3 | -------------------------------------------------------------------------------- /.svn/pristine/1a/1a90ba9b152881a4663883d395e3719ed6cf65ff.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/1a/1a90ba9b152881a4663883d395e3719ed6cf65ff.svn-base -------------------------------------------------------------------------------- /.svn/pristine/1a/1ab9c8dc961bf64fc828d0909a506260a05c0e92.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/1a/1ab9c8dc961bf64fc828d0909a506260a05c0e92.svn-base -------------------------------------------------------------------------------- /.svn/pristine/1b/1b51c74488eae21081116ecc46a45f4e8782f57a.svn-base: -------------------------------------------------------------------------------- 1 | ./setuptools-40.8.0-py3.7.egg 2 | ./pip-19.0.3-py3.7.egg 3 | -------------------------------------------------------------------------------- /.svn/pristine/1b/1b8c6451c7a14e21d076f32a904e6f1d80635243.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/1b/1b8c6451c7a14e21d076f32a904e6f1d80635243.svn-base -------------------------------------------------------------------------------- /.svn/pristine/1c/1c0c10a60c4f7389f756637407b8cbe7a8b94071.svn-base: -------------------------------------------------------------------------------- 1 | attr 2 | -------------------------------------------------------------------------------- /.svn/pristine/1d/1d7882d09059770c5b4dc1616ed4b08a917b0a77.svn-base: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | rem This file is UTF-8 encoded, so we need to update the current code page while executing it 4 | for /f "tokens=2 delims=:" %%a in ('"%SystemRoot%\System32\chcp.com"') do ( 5 | set "_OLD_CODEPAGE=%%a" 6 | ) 7 | if defined _OLD_CODEPAGE ( 8 | "%SystemRoot%\System32\chcp.com" 65001 > nul 9 | ) 10 | 11 | set "VIRTUAL_ENV=E:\PycharmProjects\pytest_requests_demo\venv" 12 | 13 | if not defined PROMPT ( 14 | set "PROMPT=$P$G" 15 | ) 16 | 17 | if defined _OLD_VIRTUAL_PROMPT ( 18 | set "PROMPT=%_OLD_VIRTUAL_PROMPT%" 19 | ) 20 | 21 | if defined _OLD_VIRTUAL_PYTHONHOME ( 22 | set "PYTHONHOME=%_OLD_VIRTUAL_PYTHONHOME%" 23 | ) 24 | 25 | set "_OLD_VIRTUAL_PROMPT=%PROMPT%" 26 | set "PROMPT=(venv) %PROMPT%" 27 | 28 | if defined PYTHONHOME ( 29 | set "_OLD_VIRTUAL_PYTHONHOME=%PYTHONHOME%" 30 | set PYTHONHOME= 31 | ) 32 | 33 | if defined _OLD_VIRTUAL_PATH ( 34 | set "PATH=%_OLD_VIRTUAL_PATH%" 35 | ) else ( 36 | set "_OLD_VIRTUAL_PATH=%PATH%" 37 | ) 38 | 39 | set "PATH=%VIRTUAL_ENV%\Scripts;%PATH%" 40 | 41 | :END 42 | if defined _OLD_CODEPAGE ( 43 | "%SystemRoot%\System32\chcp.com" %_OLD_CODEPAGE% > nul 44 | set "_OLD_CODEPAGE=" 45 | ) 46 | -------------------------------------------------------------------------------- /.svn/pristine/1f/1fac2e8b532eb9062024c99e8ae7d0417f12520d.svn-base: -------------------------------------------------------------------------------- 1 | """ 2 | 3 | webencodings.mklabels 4 | ~~~~~~~~~~~~~~~~~~~~~ 5 | 6 | Regenarate the webencodings.labels module. 7 | 8 | :copyright: Copyright 2012 by Simon Sapin 9 | :license: BSD, see LICENSE for details. 10 | 11 | """ 12 | 13 | import json 14 | try: 15 | from urllib import urlopen 16 | except ImportError: 17 | from urllib.request import urlopen 18 | 19 | 20 | def assert_lower(string): 21 | assert string == string.lower() 22 | return string 23 | 24 | 25 | def generate(url): 26 | parts = ['''\ 27 | """ 28 | 29 | webencodings.labels 30 | ~~~~~~~~~~~~~~~~~~~ 31 | 32 | Map encoding labels to their name. 33 | 34 | :copyright: Copyright 2012 by Simon Sapin 35 | :license: BSD, see LICENSE for details. 36 | 37 | """ 38 | 39 | # XXX Do not edit! 40 | # This file is automatically generated by mklabels.py 41 | 42 | LABELS = { 43 | '''] 44 | labels = [ 45 | (repr(assert_lower(label)).lstrip('u'), 46 | repr(encoding['name']).lstrip('u')) 47 | for category in json.loads(urlopen(url).read().decode('ascii')) 48 | for encoding in category['encodings'] 49 | for label in encoding['labels']] 50 | max_len = max(len(label) for label, name in labels) 51 | parts.extend( 52 | ' %s:%s %s,\n' % (label, ' ' * (max_len - len(label)), name) 53 | for label, name in labels) 54 | parts.append('}') 55 | return ''.join(parts) 56 | 57 | 58 | if __name__ == '__main__': 59 | print(generate('http://encoding.spec.whatwg.org/encodings.json')) 60 | -------------------------------------------------------------------------------- /.svn/pristine/20/200367634c3ce53792bd6c0f4d7d50e6c3c842e2.svn-base: -------------------------------------------------------------------------------- 1 | from .core import * 2 | from .codec import * 3 | 4 | def ToASCII(label): 5 | return encode(label) 6 | 7 | def ToUnicode(label): 8 | return decode(label) 9 | 10 | def nameprep(s): 11 | raise NotImplementedError("IDNA 2008 does not utilise nameprep protocol") 12 | 13 | -------------------------------------------------------------------------------- /.svn/pristine/20/20b8d08a3b94eaf578419402976562021c949710.svn-base: -------------------------------------------------------------------------------- 1 | Copyright 2018 Kenneth Reitz 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | https://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /.svn/pristine/20/20c93d9c077d6c7e842a3bf1756dff0c10a03929.svn-base: -------------------------------------------------------------------------------- 1 | import pytest 2 | import allure 3 | 4 | if __name__ == '__main__': 5 | pytest.main() -------------------------------------------------------------------------------- /.svn/pristine/22/22924deb02a012dec6667ff2d26cc80f9dc849d3.svn-base: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | requests.certs 6 | ~~~~~~~~~~~~~~ 7 | 8 | This module returns the preferred default CA certificate bundle. There is 9 | only one — the one from the certifi package. 10 | 11 | If you are packaging Requests, e.g., for a Linux distribution or a managed 12 | environment, you can change the definition of where() to return a separately 13 | packaged CA bundle. 14 | """ 15 | from pip._vendor.certifi import where 16 | 17 | if __name__ == '__main__': 18 | print(where()) 19 | -------------------------------------------------------------------------------- /.svn/pristine/22/22a4eca6c13afe1b6e5cea9bd70fcc12c158dea7.svn-base: -------------------------------------------------------------------------------- 1 | from .core import TomlError 2 | from .parser import load, loads 3 | from .test import translate_to_test 4 | from .writer import dump, dumps -------------------------------------------------------------------------------- /.svn/pristine/23/23ee9fbb7ad53343e9387a54455d2009be6c039b.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/23/23ee9fbb7ad53343e9387a54455d2009be6c039b.svn-base -------------------------------------------------------------------------------- /.svn/pristine/24/24d83af2083890735b0450f4058017512d7612c0.svn-base: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | try: 4 | # Our match_hostname function is the same as 3.5's, so we only want to 5 | # import the match_hostname function if it's at least that good. 6 | if sys.version_info < (3, 5): 7 | raise ImportError("Fallback to vendored code") 8 | 9 | from ssl import CertificateError, match_hostname 10 | except ImportError: 11 | try: 12 | # Backport of the function from a pypi module 13 | from backports.ssl_match_hostname import CertificateError, match_hostname 14 | except ImportError: 15 | # Our vendored copy 16 | from ._implementation import CertificateError, match_hostname 17 | 18 | # Not needed, but documenting what we provide. 19 | __all__ = ('CertificateError', 'match_hostname') 20 | -------------------------------------------------------------------------------- /.svn/pristine/27/27e1a44d6dd35f55d274aa6f5767f5ad27d94752.svn-base: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2004-2019 Holger Krekel and others 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 9 | of the Software, and to permit persons to whom the Software is furnished to do 10 | so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /.svn/pristine/27/27e32fc5fb7a3a571cbd71831036940c40e110d0.svn-base: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Copyright (c) 2012 Giorgos Verigakis 4 | # 5 | # Permission to use, copy, modify, and distribute this software for any 6 | # purpose with or without fee is hereby granted, provided that the above 7 | # copyright notice and this permission notice appear in all copies. 8 | # 9 | # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | 17 | from __future__ import unicode_literals 18 | from . import Infinite 19 | from .helpers import WriteMixin 20 | 21 | 22 | class Spinner(WriteMixin, Infinite): 23 | message = '' 24 | phases = ('-', '\\', '|', '/') 25 | hide_cursor = True 26 | 27 | def update(self): 28 | i = self.index % len(self.phases) 29 | self.write(self.phases[i]) 30 | 31 | 32 | class PieSpinner(Spinner): 33 | phases = ['◷', '◶', '◵', '◴'] 34 | 35 | 36 | class MoonSpinner(Spinner): 37 | phases = ['◑', '◒', '◐', '◓'] 38 | 39 | 40 | class LineSpinner(Spinner): 41 | phases = ['⎺', '⎻', '⎼', '⎽', '⎼', '⎻'] 42 | 43 | class PixelSpinner(Spinner): 44 | phases = ['⣾','⣷', '⣯', '⣟', '⡿', '⢿', '⣻', '⣽'] 45 | -------------------------------------------------------------------------------- /.svn/pristine/28/283ddcccf6a97e25d9e62d2fb358e59c2aa62d8b.svn-base: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.32.3) 3 | Root-Is-Purelib: true 4 | Tag: py3-none-any 5 | 6 | -------------------------------------------------------------------------------- /.svn/pristine/28/28d9f8ebbf6f71263c43ba4b123c4142ed4f4728.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/28/28d9f8ebbf6f71263c43ba4b123c4142ed4f4728.svn-base -------------------------------------------------------------------------------- /.svn/pristine/29/293782c9a0058161e72283b6e2bca846b1dad38a.svn-base: -------------------------------------------------------------------------------- 1 | class UnpackException(Exception): 2 | """Deprecated. Use Exception instead to catch all exception during unpacking.""" 3 | 4 | 5 | class BufferFull(UnpackException): 6 | pass 7 | 8 | 9 | class OutOfData(UnpackException): 10 | pass 11 | 12 | 13 | class UnpackValueError(UnpackException, ValueError): 14 | """Deprecated. Use ValueError instead.""" 15 | 16 | 17 | class ExtraData(UnpackValueError): 18 | def __init__(self, unpacked, extra): 19 | self.unpacked = unpacked 20 | self.extra = extra 21 | 22 | def __str__(self): 23 | return "unpack(b) received extra data." 24 | 25 | 26 | class PackException(Exception): 27 | """Deprecated. Use Exception instead to catch all exception during packing.""" 28 | 29 | 30 | class PackValueError(PackException, ValueError): 31 | """PackValueError is raised when type of input data is supported but it's value is unsupported. 32 | 33 | Deprecated. Use ValueError instead. 34 | """ 35 | 36 | 37 | class PackOverflowError(PackValueError, OverflowError): 38 | """PackOverflowError is raised when integer value is out of range of msgpack support [-2**31, 2**32). 39 | 40 | Deprecated. Use ValueError instead. 41 | """ 42 | -------------------------------------------------------------------------------- /.svn/pristine/2a/2a56eba1456479b0a967cf56d4f1a33a5eccd538.svn-base: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import, division, unicode_literals 2 | 3 | from xml.sax.xmlreader import AttributesNSImpl 4 | 5 | from ..constants import adjustForeignAttributes, unadjustForeignAttributes 6 | 7 | prefix_mapping = {} 8 | for prefix, localName, namespace in adjustForeignAttributes.values(): 9 | if prefix is not None: 10 | prefix_mapping[prefix] = namespace 11 | 12 | 13 | def to_sax(walker, handler): 14 | """Call SAX-like content handler based on treewalker walker 15 | 16 | :arg walker: the treewalker to use to walk the tree to convert it 17 | 18 | :arg handler: SAX handler to use 19 | 20 | """ 21 | handler.startDocument() 22 | for prefix, namespace in prefix_mapping.items(): 23 | handler.startPrefixMapping(prefix, namespace) 24 | 25 | for token in walker: 26 | type = token["type"] 27 | if type == "Doctype": 28 | continue 29 | elif type in ("StartTag", "EmptyTag"): 30 | attrs = AttributesNSImpl(token["data"], 31 | unadjustForeignAttributes) 32 | handler.startElementNS((token["namespace"], token["name"]), 33 | token["name"], 34 | attrs) 35 | if type == "EmptyTag": 36 | handler.endElementNS((token["namespace"], token["name"]), 37 | token["name"]) 38 | elif type == "EndTag": 39 | handler.endElementNS((token["namespace"], token["name"]), 40 | token["name"]) 41 | elif type in ("Characters", "SpaceCharacters"): 42 | handler.characters(token["data"]) 43 | elif type == "Comment": 44 | pass 45 | else: 46 | assert False, "Unknown token type" 47 | 48 | for prefix, namespace in prefix_mapping.items(): 49 | handler.endPrefixMapping(prefix) 50 | handler.endDocument() 51 | -------------------------------------------------------------------------------- /.svn/pristine/2e/2e676b708073b0051ecea010958ef4eefa40be99.svn-base: -------------------------------------------------------------------------------- 1 | [console_scripts] 2 | py.test = pytest:main 3 | pytest = pytest:main 4 | 5 | -------------------------------------------------------------------------------- /.svn/pristine/2e/2eaf9cadc33cd208a4a0378158a07fea397f6a91.svn-base: -------------------------------------------------------------------------------- 1 | """ 2 | All of the Enums that are used throughout the chardet package. 3 | 4 | :author: Dan Blanchard (dan.blanchard@gmail.com) 5 | """ 6 | 7 | 8 | class InputState(object): 9 | """ 10 | This enum represents the different states a universal detector can be in. 11 | """ 12 | PURE_ASCII = 0 13 | ESC_ASCII = 1 14 | HIGH_BYTE = 2 15 | 16 | 17 | class LanguageFilter(object): 18 | """ 19 | This enum represents the different language filters we can apply to a 20 | ``UniversalDetector``. 21 | """ 22 | CHINESE_SIMPLIFIED = 0x01 23 | CHINESE_TRADITIONAL = 0x02 24 | JAPANESE = 0x04 25 | KOREAN = 0x08 26 | NON_CJK = 0x10 27 | ALL = 0x1F 28 | CHINESE = CHINESE_SIMPLIFIED | CHINESE_TRADITIONAL 29 | CJK = CHINESE | JAPANESE | KOREAN 30 | 31 | 32 | class ProbingState(object): 33 | """ 34 | This enum represents the different states a prober can be in. 35 | """ 36 | DETECTING = 0 37 | FOUND_IT = 1 38 | NOT_ME = 2 39 | 40 | 41 | class MachineState(object): 42 | """ 43 | This enum represents the different states a state machine can be in. 44 | """ 45 | START = 0 46 | ERROR = 1 47 | ITS_ME = 2 48 | 49 | 50 | class SequenceLikelihood(object): 51 | """ 52 | This enum represents the likelihood of a character following the previous one. 53 | """ 54 | NEGATIVE = 0 55 | UNLIKELY = 1 56 | LIKELY = 2 57 | POSITIVE = 3 58 | 59 | @classmethod 60 | def get_num_categories(cls): 61 | """:returns: The number of likelihood categories in the enum.""" 62 | return 4 63 | 64 | 65 | class CharacterCategory(object): 66 | """ 67 | This enum represents the different categories language models for 68 | ``SingleByteCharsetProber`` put characters into. 69 | 70 | Anything less than CONTROL is considered a letter. 71 | """ 72 | UNDEFINED = 255 73 | LINE_BREAK = 254 74 | SYMBOL = 253 75 | DIGIT = 252 76 | CONTROL = 251 77 | -------------------------------------------------------------------------------- /.svn/pristine/2f/2f42d72ab05012858505a83e12cc740a25a26c57.svn-base: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | """ 4 | certifi.py 5 | ~~~~~~~~~~ 6 | 7 | This module returns the installation location of cacert.pem. 8 | """ 9 | import os 10 | 11 | 12 | def where(): 13 | f = os.path.dirname(__file__) 14 | 15 | return os.path.join(f, 'cacert.pem') 16 | -------------------------------------------------------------------------------- /.svn/pristine/30/300779eced6479c49df160d707d76f298d6971f1.svn-base: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | import allure 3 | import pytest 4 | import requests 5 | ''' 6 | @author: lingshu 7 | @file: test_postman_api.py 8 | @time: 2019/7/8 20:54 9 | @desc: 测试postman API 10 | ''' 11 | 12 | @allure.feature('postman') 13 | @allure.story('postman-api') 14 | @pytest.mark.parametrize('timestamp,target,expected',[ 15 | ('2016-10-10','2018-12-13',True), 16 | ('2016-10-10','2018-13-13',False), 17 | ('2016-10-10','2015-12-13',False), 18 | ]) 19 | def test_timestamp(timestamp,target,expected,env_config): 20 | """ 21 | 用例描述:测试不同的timestamp和target 22 | """ 23 | #从yml配置文件获取url 24 | url = env_config['host']['url'] 25 | payload = {'timestamp':timestamp,'target':target} 26 | r = requests.get(url,params=payload) 27 | print(r.url) 28 | result = r.json() 29 | assert result['before']==expected 30 | 31 | -------------------------------------------------------------------------------- /.svn/pristine/30/30a73715eeece118f4e16d7aff8bebda3b238acd.svn-base: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | backports.makefile 4 | ~~~~~~~~~~~~~~~~~~ 5 | 6 | Backports the Python 3 ``socket.makefile`` method for use with anything that 7 | wants to create a "fake" socket object. 8 | """ 9 | import io 10 | 11 | from socket import SocketIO 12 | 13 | 14 | def backport_makefile(self, mode="r", buffering=None, encoding=None, 15 | errors=None, newline=None): 16 | """ 17 | Backport of ``socket.makefile`` from Python 3.5. 18 | """ 19 | if not set(mode) <= {"r", "w", "b"}: 20 | raise ValueError( 21 | "invalid mode %r (only r, w, b allowed)" % (mode,) 22 | ) 23 | writing = "w" in mode 24 | reading = "r" in mode or not writing 25 | assert reading or writing 26 | binary = "b" in mode 27 | rawmode = "" 28 | if reading: 29 | rawmode += "r" 30 | if writing: 31 | rawmode += "w" 32 | raw = SocketIO(self, rawmode) 33 | self._makefile_refs += 1 34 | if buffering is None: 35 | buffering = -1 36 | if buffering < 0: 37 | buffering = io.DEFAULT_BUFFER_SIZE 38 | if buffering == 0: 39 | if not binary: 40 | raise ValueError("unbuffered streams must be binary") 41 | return raw 42 | if reading and writing: 43 | buffer = io.BufferedRWPair(raw, raw, buffering) 44 | elif reading: 45 | buffer = io.BufferedReader(raw, buffering) 46 | else: 47 | assert writing 48 | buffer = io.BufferedWriter(raw, buffering) 49 | if binary: 50 | return buffer 51 | text = io.TextIOWrapper(buffer, encoding, errors, newline) 52 | text.mode = mode 53 | return text 54 | -------------------------------------------------------------------------------- /.svn/pristine/31/31eee7114eed6b0d2fb77c9f3605057639050786.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/31/31eee7114eed6b0d2fb77c9f3605057639050786.svn-base -------------------------------------------------------------------------------- /.svn/pristine/32/32e8fad6272066279cae5eb6c76bf7bb6341bb55.svn-base: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | ''' 3 | @author: lingshu 4 | @file: __init__.py.py 5 | @time: 2019/7/9 10:16 6 | @desc: 7 | ''' -------------------------------------------------------------------------------- /.svn/pristine/33/33e6493582eea280e7c92c6803e117ae06234c01.svn-base: -------------------------------------------------------------------------------- 1 | This is the MIT license: http://www.opensource.org/licenses/mit-license.php 2 | 3 | Copyright 2008-2016 Andrey Petrov and contributors (see CONTRIBUTORS.txt) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this 6 | software and associated documentation files (the "Software"), to deal in the Software 7 | without restriction, including without limitation the rights to use, copy, modify, merge, 8 | publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons 9 | to whom the Software is furnished to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in all copies or 12 | substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 15 | INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 16 | PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE 17 | FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 18 | OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 19 | DEALINGS IN THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /.svn/pristine/34/34f2a530ef02be110e6932e4899e5208d586bc30.svn-base: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | ''' 3 | @author: lingshu 4 | @file: read_excel.py 5 | @time: 2019/6/21 17:03 6 | @desc: 读取excel 7 | ''' 8 | import xlrd 9 | from utils import get_file_path 10 | def read_excel(): 11 | file_path = get_file_path.get_root_path()+'testdata\\testdata.xlsx' 12 | # 文件位置 13 | excel_file=xlrd.open_workbook(file_path) 14 | 15 | # 获取sheet内容【1.根据sheet索引2.根据sheet名称】 16 | # sheet=ExcelFile.sheet_by_index(1) 17 | sheet = excel_file.sheet_by_name('Sheet1') 18 | # 打印sheet的名称,行数,列数 19 | print(sheet.name) 20 | print(sheet.nrows) 21 | print(sheet.ncols) 22 | 23 | # 获取整行或者整列的值 24 | rows = sheet.row_values(1) 25 | cols = sheet.col_values(1) 26 | print(rows) 27 | print(cols) 28 | 29 | #获取单元格内容 30 | print("第二行第一列的值为: %s",sheet.cell(1,0)) 31 | 32 | # 打印单元格内容格式 33 | print("单元格内容格式为: %s",sheet.cell(0,0).ctype) 34 | if __name__ == '__main__': 35 | read_excel() -------------------------------------------------------------------------------- /.svn/pristine/35/35f290d30bdf64f5bf9ddcd5cf47beb5a45d1c11.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/35/35f290d30bdf64f5bf9ddcd5cf47beb5a45d1c11.svn-base -------------------------------------------------------------------------------- /.svn/pristine/36/36ca384d1caf4fb610f47074f03ee6327383bb14.svn-base: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | # file generated by setuptools_scm 3 | # don't change, don't track in version control 4 | version = '1.8.0' 5 | -------------------------------------------------------------------------------- /.svn/pristine/37/37175531b42ce7dded08b25e9ea1508d1d610cdf.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/37/37175531b42ce7dded08b25e9ea1508d1d610cdf.svn-base -------------------------------------------------------------------------------- /.svn/pristine/37/3761924aed3900f6bb3ab391c78de297d9a96694.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/37/3761924aed3900f6bb3ab391c78de297d9a96694.svn-base -------------------------------------------------------------------------------- /.svn/pristine/39/391552ca03f5bf7d6ee9a7f91aea23ae7605c1bf.svn-base: -------------------------------------------------------------------------------- 1 | {"classifiers": ["Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7"], "extensions": {"python.details": {"contacts": [{"email": "me@kennethreitz.com", "name": "Kenneth Reitz", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst", "license": "LICENSE.txt"}, "project_urls": {"Home": "https://certifi.io/"}}}, "generator": "bdist_wheel (0.30.0.a0)", "license": "MPL-2.0", "metadata_version": "2.0", "name": "certifi", "summary": "Python package for providing Mozilla's CA Bundle.", "version": "2019.3.9"} -------------------------------------------------------------------------------- /.svn/pristine/39/3926a34badf2b409a322fae8a8732dfb57f689f4.svn-base: -------------------------------------------------------------------------------- 1 | """ 2 | The cache object API for implementing caches. The default is a thread 3 | safe in-memory dictionary. 4 | """ 5 | from threading import Lock 6 | 7 | 8 | class BaseCache(object): 9 | 10 | def get(self, key): 11 | raise NotImplementedError() 12 | 13 | def set(self, key, value): 14 | raise NotImplementedError() 15 | 16 | def delete(self, key): 17 | raise NotImplementedError() 18 | 19 | def close(self): 20 | pass 21 | 22 | 23 | class DictCache(BaseCache): 24 | 25 | def __init__(self, init_dict=None): 26 | self.lock = Lock() 27 | self.data = init_dict or {} 28 | 29 | def get(self, key): 30 | return self.data.get(key, None) 31 | 32 | def set(self, key, value): 33 | with self.lock: 34 | self.data.update({key: value}) 35 | 36 | def delete(self, key): 37 | with self.lock: 38 | if key in self.data: 39 | self.data.pop(key) 40 | -------------------------------------------------------------------------------- /.svn/pristine/3b/3bb82d0afa4311205c0384ca0fbd4e0ed65be296.svn-base: -------------------------------------------------------------------------------- 1 | """Modules copied from Python 3 standard libraries, for internal use only. 2 | 3 | Individual classes and functions are found in d2._backport.misc. Intended 4 | usage is to always import things missing from 3.1 from that module: the 5 | built-in/stdlib objects will be used if found. 6 | """ 7 | -------------------------------------------------------------------------------- /.svn/pristine/3d/3d51c13be6cd7f115934bfa9ef8a3ddd3f571949.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/3d/3d51c13be6cd7f115934bfa9ef8a3ddd3f571949.svn-base -------------------------------------------------------------------------------- /.svn/pristine/3d/3d8d0415b77a840c7e81eac1677ae173110e8378.svn-base: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import, division, unicode_literals 2 | 3 | import re 4 | 5 | from . import base 6 | from ..constants import rcdataElements, spaceCharacters 7 | spaceCharacters = "".join(spaceCharacters) 8 | 9 | SPACES_REGEX = re.compile("[%s]+" % spaceCharacters) 10 | 11 | 12 | class Filter(base.Filter): 13 | """Collapses whitespace except in pre, textarea, and script elements""" 14 | spacePreserveElements = frozenset(["pre", "textarea"] + list(rcdataElements)) 15 | 16 | def __iter__(self): 17 | preserve = 0 18 | for token in base.Filter.__iter__(self): 19 | type = token["type"] 20 | if type == "StartTag" \ 21 | and (preserve or token["name"] in self.spacePreserveElements): 22 | preserve += 1 23 | 24 | elif type == "EndTag" and preserve: 25 | preserve -= 1 26 | 27 | elif not preserve and type == "SpaceCharacters" and token["data"]: 28 | # Test on token["data"] above to not introduce spaces where there were not 29 | token["data"] = " " 30 | 31 | elif not preserve and type == "Characters": 32 | token["data"] = collapse_spaces(token["data"]) 33 | 34 | yield token 35 | 36 | 37 | def collapse_spaces(text): 38 | return SPACES_REGEX.sub(' ', text) 39 | -------------------------------------------------------------------------------- /.svn/pristine/3d/3da69f176951db7c7729ce16b163931a13f2fb8a.svn-base: -------------------------------------------------------------------------------- 1 | import datetime 2 | from .utils import format_rfc3339 3 | 4 | try: 5 | _string_types = (str, unicode) 6 | _int_types = (int, long) 7 | except NameError: 8 | _string_types = str 9 | _int_types = int 10 | 11 | def translate_to_test(v): 12 | if isinstance(v, dict): 13 | return { k: translate_to_test(v) for k, v in v.items() } 14 | if isinstance(v, list): 15 | a = [translate_to_test(x) for x in v] 16 | if v and isinstance(v[0], dict): 17 | return a 18 | else: 19 | return {'type': 'array', 'value': a} 20 | if isinstance(v, datetime.datetime): 21 | return {'type': 'datetime', 'value': format_rfc3339(v)} 22 | if isinstance(v, bool): 23 | return {'type': 'bool', 'value': 'true' if v else 'false'} 24 | if isinstance(v, _int_types): 25 | return {'type': 'integer', 'value': str(v)} 26 | if isinstance(v, float): 27 | return {'type': 'float', 'value': '{:.17}'.format(v)} 28 | if isinstance(v, _string_types): 29 | return {'type': 'string', 'value': v} 30 | raise RuntimeError('unexpected value: {!r}'.format(v)) 31 | -------------------------------------------------------------------------------- /.svn/pristine/3e/3e9e5a2cfdd50095dc689307bf18355b68b62f88.svn-base: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | ''' 3 | @author: lingshu 4 | @file: read_excel.py 5 | @time: 2019/6/21 17:03 6 | @desc: 读取excel 7 | ''' 8 | import xlrd 9 | from utils import get_file_path 10 | def read_excel(): 11 | file_path = get_file_path.get_root_path()+'testdata\\testdata.xlsx' 12 | # 文件位置 13 | excel_file=xlrd.open_workbook(file_path) 14 | 15 | # 获取sheet内容【1.根据sheet索引2.根据sheet名称】 16 | # sheet=ExcelFile.sheet_by_index(1) 17 | sheet = excel_file.sheet_by_name('Sheet1') 18 | # 打印sheet的名称,行数,列数 19 | print(sheet.name) 20 | print(sheet.nrows) 21 | print(sheet.ncols) 22 | 23 | # 获取整行或者整列的值 24 | rows = sheet.row_values(1) 25 | cols = sheet.col_values(1) 26 | print(rows) 27 | print(cols) 28 | 29 | #获取单元格内容 30 | print("第二行第一列的值为: %s",sheet.cell(1,0)) 31 | 32 | # 打印单元格内容格式 33 | print("单元格内容格式为: %s",sheet.cell(0,0).ctype) 34 | 35 | def get_xls(): 36 | cls = [] 37 | file_path = get_file_path.get_root_path() + 'testdata\\testdata.xlsx' 38 | # 文件位置 39 | excel_file = xlrd.open_workbook(file_path) 40 | sheet = excel_file.sheet_by_name('Sheet1') 41 | nrows = sheet.nrows 42 | for i in range(nrows): 43 | cls.append(sheet.row_values(i)) 44 | return cls 45 | if __name__ == '__main__': 46 | print(get_xls()) -------------------------------------------------------------------------------- /.svn/pristine/3e/3ea29b2d3540bdfa5b8e33dae8db68835a7ad2c0.svn-base: -------------------------------------------------------------------------------- 1 | # This file is dual licensed under the terms of the Apache License, Version 2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository 3 | # for complete details. 4 | from __future__ import absolute_import, division, print_function 5 | 6 | import sys 7 | 8 | 9 | PY2 = sys.version_info[0] == 2 10 | PY3 = sys.version_info[0] == 3 11 | 12 | # flake8: noqa 13 | 14 | if PY3: 15 | string_types = (str,) 16 | else: 17 | string_types = (basestring,) 18 | 19 | 20 | def with_metaclass(meta, *bases): 21 | """ 22 | Create a base class with a metaclass. 23 | """ 24 | # This requires a bit of explanation: the basic idea is to make a dummy 25 | # metaclass for one level of class instantiation that replaces itself with 26 | # the actual metaclass. 27 | class metaclass(meta): 28 | def __new__(cls, name, this_bases, d): 29 | return meta(name, bases, d) 30 | 31 | return type.__new__(metaclass, "temporary_class", (), {}) 32 | -------------------------------------------------------------------------------- /.svn/pristine/3f/3f5d48a902a2ab5981f70e1deceaa72c2f4758f8.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/3f/3f5d48a902a2ab5981f70e1deceaa72c2f4758f8.svn-base -------------------------------------------------------------------------------- /.svn/pristine/41/414a410c5de1ddbdf8e1e07a526bd082cc6ebc31.svn-base: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | import pytest 3 | import allure 4 | import yaml 5 | import os 6 | ''' 7 | @author: lingshu 8 | @file: conftest.py 9 | @time: 2019/6/6 11:10 10 | @desc: 11 | ''' 12 | @pytest.fixture(scope="session",autouse=True) 13 | def env_config(request): 14 | """ 15 | 读取yml配置文件 16 | """ 17 | project_name = 'api_auto_test' 18 | rootPath = get_root_path(project_name) 19 | config_path = os.path.abspath(rootPath + 'config\\env_config.yml') # 获取tran.csv文件的路径 20 | with open(config_path) as f: 21 | env_config = yaml.load(f) #读取配置文件 22 | return env_config 23 | 24 | def get_root_path(project_name): 25 | curPath = os.path.abspath(os.path.dirname(__file__)) 26 | rootPath = curPath[:curPath.find(project_name+"\\") + len(project_name+"\\")] # 获取myProject,也就是项目的根路径 27 | return rootPath -------------------------------------------------------------------------------- /.svn/pristine/43/4321535f6a36d555997977dfebae91e2f5acd2dd.svn-base: -------------------------------------------------------------------------------- 1 | from .adapter import CacheControlAdapter 2 | from .cache import DictCache 3 | 4 | 5 | def CacheControl( 6 | sess, 7 | cache=None, 8 | cache_etags=True, 9 | serializer=None, 10 | heuristic=None, 11 | controller_class=None, 12 | adapter_class=None, 13 | cacheable_methods=None, 14 | ): 15 | 16 | cache = cache or DictCache() 17 | adapter_class = adapter_class or CacheControlAdapter 18 | adapter = adapter_class( 19 | cache, 20 | cache_etags=cache_etags, 21 | serializer=serializer, 22 | heuristic=heuristic, 23 | controller_class=controller_class, 24 | cacheable_methods=cacheable_methods, 25 | ) 26 | sess.mount("http://", adapter) 27 | sess.mount("https://", adapter) 28 | 29 | return sess 30 | -------------------------------------------------------------------------------- /.svn/pristine/44/444f501c3fd672580dd3ab7ac6c60e9ce93cc569.svn-base: -------------------------------------------------------------------------------- 1 | Certifi: Python SSL Certificates 2 | ================================ 3 | 4 | `Certifi`_ is a carefully curated collection of Root Certificates for 5 | validating the trustworthiness of SSL certificates while verifying the identity 6 | of TLS hosts. It has been extracted from the `Requests`_ project. 7 | 8 | Installation 9 | ------------ 10 | 11 | ``certifi`` is available on PyPI. Simply install it with ``pip``:: 12 | 13 | $ pip install certifi 14 | 15 | Usage 16 | ----- 17 | 18 | To reference the installed certificate authority (CA) bundle, you can use the 19 | built-in function:: 20 | 21 | >>> import certifi 22 | 23 | >>> certifi.where() 24 | '/usr/local/lib/python2.7/site-packages/certifi/cacert.pem' 25 | 26 | Or from the command line:: 27 | 28 | $ python -m certifi 29 | /usr/local/lib/python2.7/site-packages/certifi/cacert.pem 30 | 31 | Enjoy! 32 | 33 | 1024-bit Root Certificates 34 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 35 | 36 | Browsers and certificate authorities have concluded that 1024-bit keys are 37 | unacceptably weak for certificates, particularly root certificates. For this 38 | reason, Mozilla has removed any weak (i.e. 1024-bit key) certificate from its 39 | bundle, replacing it with an equivalent strong (i.e. 2048-bit or greater key) 40 | certificate from the same CA. Because Mozilla removed these certificates from 41 | its bundle, ``certifi`` removed them as well. 42 | 43 | In previous versions, ``certifi`` provided the ``certifi.old_where()`` function 44 | to intentionally re-add the 1024-bit roots back into your bundle. This was not 45 | recommended in production and therefore was removed at the end of 2018. 46 | 47 | .. _`Certifi`: https://certifi.io/en/latest/ 48 | .. _`Requests`: http://docs.python-requests.org/en/latest/ 49 | 50 | 51 | -------------------------------------------------------------------------------- /.svn/pristine/45/45ed65cad1a778f388a197189a4a4b6d7df42f75.svn-base: -------------------------------------------------------------------------------- 1 | """ 2 | Commonly useful filters for :func:`attr.asdict`. 3 | """ 4 | 5 | from __future__ import absolute_import, division, print_function 6 | 7 | from ._compat import isclass 8 | from ._make import Attribute 9 | 10 | 11 | def _split_what(what): 12 | """ 13 | Returns a tuple of `frozenset`s of classes and attributes. 14 | """ 15 | return ( 16 | frozenset(cls for cls in what if isclass(cls)), 17 | frozenset(cls for cls in what if isinstance(cls, Attribute)), 18 | ) 19 | 20 | 21 | def include(*what): 22 | """ 23 | Whitelist *what*. 24 | 25 | :param what: What to whitelist. 26 | :type what: :class:`list` of :class:`type` or :class:`attr.Attribute`\\ s 27 | 28 | :rtype: :class:`callable` 29 | """ 30 | cls, attrs = _split_what(what) 31 | 32 | def include_(attribute, value): 33 | return value.__class__ in cls or attribute in attrs 34 | 35 | return include_ 36 | 37 | 38 | def exclude(*what): 39 | """ 40 | Blacklist *what*. 41 | 42 | :param what: What to blacklist. 43 | :type what: :class:`list` of classes or :class:`attr.Attribute`\\ s. 44 | 45 | :rtype: :class:`callable` 46 | """ 47 | cls, attrs = _split_what(what) 48 | 49 | def exclude_(attribute, value): 50 | return value.__class__ not in cls and attribute not in attrs 51 | 52 | return exclude_ 53 | -------------------------------------------------------------------------------- /.svn/pristine/46/46707921959b4e4a45061dfb89bab0da6126930b.svn-base: -------------------------------------------------------------------------------- 1 | from typing import TypeVar, Optional, Callable, overload 2 | from . import _ConverterType 3 | 4 | _T = TypeVar("_T") 5 | 6 | def optional( 7 | converter: _ConverterType[_T] 8 | ) -> _ConverterType[Optional[_T]]: ... 9 | @overload 10 | def default_if_none(default: _T) -> _ConverterType[_T]: ... 11 | @overload 12 | def default_if_none(*, factory: Callable[[], _T]) -> _ConverterType[_T]: ... 13 | -------------------------------------------------------------------------------- /.svn/pristine/4d/4da4b70978b068934c1ab021ee26337e44b2e74e.svn-base: -------------------------------------------------------------------------------- 1 | """For neatly implementing static typing in pip. 2 | 3 | `mypy` - the static type analysis tool we use - uses the `typing` module, which 4 | provides core functionality fundamental to mypy's functioning. 5 | 6 | Generally, `typing` would be imported at runtime and used in that fashion - 7 | it acts as a no-op at runtime and does not have any run-time overhead by 8 | design. 9 | 10 | As it turns out, `typing` is not vendorable - it uses separate sources for 11 | Python 2/Python 3. Thus, this codebase can not expect it to be present. 12 | To work around this, mypy allows the typing import to be behind a False-y 13 | optional to prevent it from running at runtime and type-comments can be used 14 | to remove the need for the types to be accessible directly during runtime. 15 | 16 | This module provides the False-y guard in a nicely named fashion so that a 17 | curious maintainer can reach here to read this. 18 | 19 | In pip, all static-typing related imports should be guarded as follows: 20 | 21 | from pip._internal.utils.typing import MYPY_CHECK_RUNNING 22 | 23 | if MYPY_CHECK_RUNNING: 24 | from typing import ... # noqa: F401 25 | 26 | Ref: https://github.com/python/mypy/issues/3216 27 | """ 28 | 29 | MYPY_CHECK_RUNNING = False 30 | -------------------------------------------------------------------------------- /.svn/pristine/4d/4dd20d33e1730df1e51d8436f5741c8783668ae3.svn-base: -------------------------------------------------------------------------------- 1 | from enum import Enum 2 | 3 | ALLURE_UNIQUE_LABELS = ['severity', 'thread', 'host'] 4 | 5 | 6 | class Severity(str, Enum): 7 | BLOCKER = 'blocker' 8 | CRITICAL = 'critical' 9 | NORMAL = 'normal' 10 | MINOR = 'minor' 11 | TRIVIAL = 'trivial' 12 | 13 | 14 | class LinkType(object): 15 | LINK = 'link' 16 | ISSUE = 'issue' 17 | TEST_CASE = 'test_case' 18 | 19 | 20 | class LabelType(str): 21 | EPIC = 'epic' 22 | FEATURE = 'feature' 23 | STORY = 'story' 24 | PARENT_SUITE = 'parentSuite' 25 | SUITE = 'suite' 26 | SUB_SUITE = 'subSuite' 27 | SEVERITY = 'severity' 28 | THREAD = 'thread' 29 | HOST = 'host' 30 | TAG = 'tag' 31 | FRAMEWORK = 'framework' 32 | LANGUAGE = 'language' 33 | 34 | 35 | class AttachmentType(Enum): 36 | 37 | def __init__(self, mime_type, extension): 38 | self.mime_type = mime_type 39 | self.extension = extension 40 | 41 | TEXT = ("text/plain", "txt") 42 | CSV = ("text/csv", "csv") 43 | TSV = ("text/tab-separated-values", "tsv") 44 | URI_LIST = ("text/uri-list", "uri") 45 | 46 | HTML = ("text/html", "html") 47 | XML = ("application/xml", "xml") 48 | JSON = ("application/json", "json") 49 | YAML = ("application/yaml", "yaml") 50 | PCAP = ("application/vnd.tcpdump.pcap", "pcap") 51 | 52 | PNG = ("image/png", "png") 53 | JPG = ("image/jpg", "jpg") 54 | SVG = ("image/svg-xml", "svg") 55 | GIF = ("image/gif", "gif") 56 | BMP = ("image/bmp", "bmp") 57 | TIFF = ("image/tiff", "tiff") 58 | 59 | MP4 = ("video/mp4", "mp4") 60 | OGG = ("video/ogg", "ogg") 61 | WEBM = ("video/webm", "webm") 62 | 63 | PDF = ("application/pdf", "pdf") 64 | -------------------------------------------------------------------------------- /.svn/pristine/4e/4ee021ca7cf023e091995b5ad3762198700d50e0.svn-base: -------------------------------------------------------------------------------- 1 | # 技术栈 2 | - Java 3 | - maven 4 | - selenium 5 | - testng 6 | - allure 7 | 8 | # 环境 9 | - JDK1.8 10 | - aven3.3.9M 11 | - IDEA 12 | 13 | # 运行 14 | - 解压项目,用IDEA打开 15 | - 运行testng.xml文件 16 | - 查看Allure测试报告 17 | 18 | # 项目结构介绍 19 | ### 主目录: 20 | ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190613181953252.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dhbGVuMjAxNg==,size_16,color_FFFFFF,t_70) 21 | 22 | ### resource文件夹 23 | 存放一些资源文件,如测试用例.excel文件 24 | ### cases包 25 | 测试用例文件 26 | ### common包 27 | ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190613190126454.png) 28 | 29 | - BaseTest.java 测试用例的基类,其他测试用例都继承这个类 30 | - InitDriver.java 初始webdriver,可以提供获取chrome、firefox、ie三个浏览器的方法 31 | - OperateElement.java 对webdriver的API做了二次封装 32 | - TestngListener 全局监控器,控制失败用例重跑、截图、打印测试步骤 33 | 34 | ### pageobject包 35 | 对每个测试页面的元素和公共操作封装成一个类 36 | 37 | ### utils包 38 | 封装一些实用的工具类,如:读取excel、配置文件等 39 | 40 | ### env.properties 41 | 测试要用到的url、账号密码等可以写在这个文件里面 42 | 43 | ### pom.xml 44 | 1、管理jar包 2、配置maven-surefire-plugin插件来运行test包下面的代码 45 | -------------------------------------------------------------------------------- /.svn/pristine/4f/4f5053eda7a7432654d7af2d3abb9c72745fece2.svn-base: -------------------------------------------------------------------------------- 1 | """Tree adapters let you convert from one tree structure to another 2 | 3 | Example: 4 | 5 | .. code-block:: python 6 | 7 | from pip._vendor import html5lib 8 | from pip._vendor.html5lib.treeadapters import genshi 9 | 10 | doc = 'Hi!' 11 | treebuilder = html5lib.getTreeBuilder('etree') 12 | parser = html5lib.HTMLParser(tree=treebuilder) 13 | tree = parser.parse(doc) 14 | TreeWalker = html5lib.getTreeWalker('etree') 15 | 16 | genshi_tree = genshi.to_genshi(TreeWalker(tree)) 17 | 18 | """ 19 | from __future__ import absolute_import, division, unicode_literals 20 | 21 | from . import sax 22 | 23 | __all__ = ["sax"] 24 | 25 | try: 26 | from . import genshi # noqa 27 | except ImportError: 28 | pass 29 | else: 30 | __all__.append("genshi") 31 | -------------------------------------------------------------------------------- /.svn/pristine/51/515d43ec685d7ae2b8e9b0724d5688dab08600b7.svn-base: -------------------------------------------------------------------------------- 1 | [ 2 | "test_postman_api.py::test_timestamp[2016-10-10 00:00:00-2018-12-13-True]", 3 | "test_postman_api.py::test_timestamp[2016-10-10-2018-13-13-False]", 4 | "test_postman_api.py::test_timestamp[2016-10-10-2015-12-13-False]" 5 | ] -------------------------------------------------------------------------------- /.svn/pristine/52/52184c66c24f3bc477685c78b52a691d6e17b3e6.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/52/52184c66c24f3bc477685c78b52a691d6e17b3e6.svn-base -------------------------------------------------------------------------------- /.svn/pristine/52/5297df2758b6be575459e08565b07382eb6d52ed.svn-base: -------------------------------------------------------------------------------- 1 | ######################## BEGIN LICENSE BLOCK ######################## 2 | # The Original Code is Mozilla Communicator client code. 3 | # 4 | # The Initial Developer of the Original Code is 5 | # Netscape Communications Corporation. 6 | # Portions created by the Initial Developer are Copyright (C) 1998 7 | # the Initial Developer. All Rights Reserved. 8 | # 9 | # Contributor(s): 10 | # Mark Pilgrim - port to Python 11 | # 12 | # This library is free software; you can redistribute it and/or 13 | # modify it under the terms of the GNU Lesser General Public 14 | # License as published by the Free Software Foundation; either 15 | # version 2.1 of the License, or (at your option) any later version. 16 | # 17 | # This library is distributed in the hope that it will be useful, 18 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 20 | # Lesser General Public License for more details. 21 | # 22 | # You should have received a copy of the GNU Lesser General Public 23 | # License along with this library; if not, write to the Free Software 24 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 25 | # 02110-1301 USA 26 | ######################### END LICENSE BLOCK ######################### 27 | 28 | from .mbcharsetprober import MultiByteCharSetProber 29 | from .codingstatemachine import CodingStateMachine 30 | from .chardistribution import Big5DistributionAnalysis 31 | from .mbcssm import BIG5_SM_MODEL 32 | 33 | 34 | class Big5Prober(MultiByteCharSetProber): 35 | def __init__(self): 36 | super(Big5Prober, self).__init__() 37 | self.coding_sm = CodingStateMachine(BIG5_SM_MODEL) 38 | self.distribution_analyzer = Big5DistributionAnalysis() 39 | self.reset() 40 | 41 | @property 42 | def charset_name(self): 43 | return "Big5" 44 | 45 | @property 46 | def language(self): 47 | return "Chinese" 48 | -------------------------------------------------------------------------------- /.svn/pristine/52/529fc858fdfda889eaa5eafc9cb699c4305b19d6.svn-base: -------------------------------------------------------------------------------- 1 | [console_scripts] 2 | chardetect = chardet.cli.chardetect:main 3 | 4 | -------------------------------------------------------------------------------- /.svn/pristine/53/536ab7a39349f339a588008a6d01ca644c9d5ae1.svn-base: -------------------------------------------------------------------------------- 1 | allure 2 | allure_commons 3 | -------------------------------------------------------------------------------- /.svn/pristine/55/554bb2883b2aef7451d569b80bfc5597fce0735a.svn-base: -------------------------------------------------------------------------------- 1 | ######################## BEGIN LICENSE BLOCK ######################## 2 | # This library is free software; you can redistribute it and/or 3 | # modify it under the terms of the GNU Lesser General Public 4 | # License as published by the Free Software Foundation; either 5 | # version 2.1 of the License, or (at your option) any later version. 6 | # 7 | # This library is distributed in the hope that it will be useful, 8 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 10 | # Lesser General Public License for more details. 11 | # 12 | # You should have received a copy of the GNU Lesser General Public 13 | # License along with this library; if not, write to the Free Software 14 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 15 | # 02110-1301 USA 16 | ######################### END LICENSE BLOCK ######################### 17 | 18 | 19 | from .compat import PY2, PY3 20 | from .universaldetector import UniversalDetector 21 | from .version import __version__, VERSION 22 | 23 | 24 | def detect(byte_str): 25 | """ 26 | Detect the encoding of the given byte string. 27 | 28 | :param byte_str: The byte sequence to examine. 29 | :type byte_str: ``bytes`` or ``bytearray`` 30 | """ 31 | if not isinstance(byte_str, bytearray): 32 | if not isinstance(byte_str, bytes): 33 | raise TypeError('Expected object of type bytes or bytearray, got: ' 34 | '{0}'.format(type(byte_str))) 35 | else: 36 | byte_str = bytearray(byte_str) 37 | detector = UniversalDetector() 38 | detector.feed(byte_str) 39 | return detector.close() 40 | -------------------------------------------------------------------------------- /.svn/pristine/57/572e961288fe4e6d27e218015d252074484057b0.svn-base: -------------------------------------------------------------------------------- 1 | import codecs 2 | import locale 3 | import re 4 | import sys 5 | 6 | from pip._internal.utils.typing import MYPY_CHECK_RUNNING 7 | 8 | if MYPY_CHECK_RUNNING: 9 | from typing import List, Tuple, Text # noqa: F401 10 | 11 | BOMS = [ 12 | (codecs.BOM_UTF8, 'utf8'), 13 | (codecs.BOM_UTF16, 'utf16'), 14 | (codecs.BOM_UTF16_BE, 'utf16-be'), 15 | (codecs.BOM_UTF16_LE, 'utf16-le'), 16 | (codecs.BOM_UTF32, 'utf32'), 17 | (codecs.BOM_UTF32_BE, 'utf32-be'), 18 | (codecs.BOM_UTF32_LE, 'utf32-le'), 19 | ] # type: List[Tuple[bytes, Text]] 20 | 21 | ENCODING_RE = re.compile(br'coding[:=]\s*([-\w.]+)') 22 | 23 | 24 | def auto_decode(data): 25 | # type: (bytes) -> Text 26 | """Check a bytes string for a BOM to correctly detect the encoding 27 | 28 | Fallback to locale.getpreferredencoding(False) like open() on Python3""" 29 | for bom, encoding in BOMS: 30 | if data.startswith(bom): 31 | return data[len(bom):].decode(encoding) 32 | # Lets check the first two lines as in PEP263 33 | for line in data.split(b'\n')[:2]: 34 | if line[0:1] == b'#' and ENCODING_RE.search(line): 35 | encoding = ENCODING_RE.search(line).groups()[0].decode('ascii') 36 | return data.decode(encoding) 37 | return data.decode( 38 | locale.getpreferredencoding(False) or sys.getdefaultencoding(), 39 | ) 40 | -------------------------------------------------------------------------------- /.svn/pristine/57/575c23553e54642b5bea47e65b44f55eb446ef79.svn-base: -------------------------------------------------------------------------------- 1 | """ 2 | This module exists only to simplify retrieving the version number of chardet 3 | from within setup.py and from chardet subpackages. 4 | 5 | :author: Dan Blanchard (dan.blanchard@gmail.com) 6 | """ 7 | 8 | __version__ = "3.0.4" 9 | VERSION = __version__.split('.') 10 | -------------------------------------------------------------------------------- /.svn/pristine/58/58a26c792ca8522c83e2eecb96543ef6eb9c8cdb.svn-base: -------------------------------------------------------------------------------- 1 | from pip._vendor.certifi import where 2 | print(where()) 3 | -------------------------------------------------------------------------------- /.svn/pristine/59/59eabda06f3273b5a420c5fa1d129ba7e8f6acb7.svn-base: -------------------------------------------------------------------------------- 1 | # This file is dual licensed under the terms of the Apache License, Version 2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository 3 | # for complete details. 4 | from __future__ import absolute_import, division, print_function 5 | 6 | import re 7 | 8 | from .version import InvalidVersion, Version 9 | 10 | 11 | _canonicalize_regex = re.compile(r"[-_.]+") 12 | 13 | 14 | def canonicalize_name(name): 15 | # This is taken from PEP 503. 16 | return _canonicalize_regex.sub("-", name).lower() 17 | 18 | 19 | def canonicalize_version(version): 20 | """ 21 | This is very similar to Version.__str__, but has one subtle differences 22 | with the way it handles the release segment. 23 | """ 24 | 25 | try: 26 | version = Version(version) 27 | except InvalidVersion: 28 | # Legacy versions cannot be normalized 29 | return version 30 | 31 | parts = [] 32 | 33 | # Epoch 34 | if version.epoch != 0: 35 | parts.append("{0}!".format(version.epoch)) 36 | 37 | # Release segment 38 | # NB: This strips trailing '.0's to normalize 39 | parts.append(re.sub(r"(\.0)+$", "", ".".join(str(x) for x in version.release))) 40 | 41 | # Pre-release 42 | if version.pre is not None: 43 | parts.append("".join(str(x) for x in version.pre)) 44 | 45 | # Post-release 46 | if version.post is not None: 47 | parts.append(".post{0}".format(version.post)) 48 | 49 | # Development release 50 | if version.dev is not None: 51 | parts.append(".dev{0}".format(version.dev)) 52 | 53 | # Local version segment 54 | if version.local is not None: 55 | parts.append("+{0}".format(version.local)) 56 | 57 | return "".join(parts) 58 | -------------------------------------------------------------------------------- /.svn/pristine/5a/5a444e85b4d45f9efa982ba51edc10edb6d9a082.svn-base: -------------------------------------------------------------------------------- 1 | from typing import Union, Any 2 | from . import Attribute, _FilterType 3 | 4 | def include(*what: Union[type, Attribute[Any]]) -> _FilterType[Any]: ... 5 | def exclude(*what: Union[type, Attribute[Any]]) -> _FilterType[Any]: ... 6 | -------------------------------------------------------------------------------- /.svn/pristine/5b/5b6f726af4d0d5d6731ff351c8cbd508f1f12378.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/5b/5b6f726af4d0d5d6731ff351c8cbd508f1f12378.svn-base -------------------------------------------------------------------------------- /.svn/pristine/5d/5dc7deb2237d86b8a95d937518adb063e8612aaf.svn-base: -------------------------------------------------------------------------------- 1 | """ python inspection/code generation API """ 2 | from __future__ import absolute_import 3 | from __future__ import division 4 | from __future__ import print_function 5 | 6 | from .code import Code # noqa 7 | from .code import ExceptionInfo # noqa 8 | from .code import filter_traceback # noqa 9 | from .code import Frame # noqa 10 | from .code import getrawcode # noqa 11 | from .code import Traceback # noqa 12 | from .source import compile_ as compile # noqa 13 | from .source import getfslineno # noqa 14 | from .source import Source # noqa 15 | -------------------------------------------------------------------------------- /.svn/pristine/5e/5e482a8a1a830d55b849679ab26b23146e90ceb9.svn-base: -------------------------------------------------------------------------------- 1 | requests 2 | -------------------------------------------------------------------------------- /.svn/pristine/5f/5f16350458f61899eaaeef4c86e9e32ebb27fcff.svn-base: -------------------------------------------------------------------------------- 1 | { 2 | "test_case/test_allure_demo.py::test_case_01": true, 3 | "test_case/test_allure_demo.py::test_case_02": true, 4 | "test_case/test_allure_demo.py::test_case_03": true, 5 | "test_case/test_allure_demo.py::test_case_04": true, 6 | "test_case/test_allure_demo2.py::test_case_01": true, 7 | "test_case/test_allure_demo2.py::test_case_02": true, 8 | "test_case/test_allure_demo2.py::test_case_03": true, 9 | "test_case/test_allure_demo2.py::test_case_04": true, 10 | "test_case/test_auth_login.py::TestAuthLogin::test_\u6839\u636e\u57ce\u5e02ID\u83b7\u53d6\u5c0f\u533a\u5217\u8868": true, 11 | "test_case/test_auth_login.py::TestAuthLogin::test_\u83b7\u53d6\u57ce\u5e02\u5217\u8868": true, 12 | "test_case/test_auth_login.py::TestAuthLogin::test_\u83b7\u53d6\u624b\u673a\u53f7\u7801\u9a8c\u8bc1\u7801": true, 13 | "test_case/test_house_controller.py::TestHoustController::test_house_list": true, 14 | "test_shopping_trolley.py::TestShoppingTrolley::test_add_shopping_trolley": true 15 | } -------------------------------------------------------------------------------- /.svn/pristine/60/607fb8fc37c03ed104aa478f15f6d0fd3d9aca91.svn-base: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.svn/pristine/61/6126e0f53ec9d056045f9e6b3a7db4a3b419ba05.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/61/6126e0f53ec9d056045f9e6b3a7db4a3b419ba05.svn-base -------------------------------------------------------------------------------- /.svn/pristine/61/6151b4f20f32e1bee3ff735d2147bf41b05db192.svn-base: -------------------------------------------------------------------------------- 1 | #!E:\PycharmProjects\pytest_requests_demo\venv\Scripts\python.exe 2 | # EASY-INSTALL-ENTRY-SCRIPT: 'pip==19.0.3','console_scripts','pip3' 3 | __requires__ = 'pip==19.0.3' 4 | import re 5 | import sys 6 | from pkg_resources import load_entry_point 7 | 8 | if __name__ == '__main__': 9 | sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) 10 | sys.exit( 11 | load_entry_point('pip==19.0.3', 'console_scripts', 'pip3')() 12 | ) 13 | -------------------------------------------------------------------------------- /.svn/pristine/61/61c97c184822264aa8ab31172b215f06f4a73650.svn-base: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import 2 | 3 | import hashlib 4 | import logging 5 | import sys 6 | 7 | from pip._internal.cli.base_command import Command 8 | from pip._internal.cli.status_codes import ERROR 9 | from pip._internal.utils.hashes import FAVORITE_HASH, STRONG_HASHES 10 | from pip._internal.utils.misc import read_chunks 11 | 12 | logger = logging.getLogger(__name__) 13 | 14 | 15 | class HashCommand(Command): 16 | """ 17 | Compute a hash of a local package archive. 18 | 19 | These can be used with --hash in a requirements file to do repeatable 20 | installs. 21 | 22 | """ 23 | name = 'hash' 24 | usage = '%prog [options] ...' 25 | summary = 'Compute hashes of package archives.' 26 | ignore_require_venv = True 27 | 28 | def __init__(self, *args, **kw): 29 | super(HashCommand, self).__init__(*args, **kw) 30 | self.cmd_opts.add_option( 31 | '-a', '--algorithm', 32 | dest='algorithm', 33 | choices=STRONG_HASHES, 34 | action='store', 35 | default=FAVORITE_HASH, 36 | help='The hash algorithm to use: one of %s' % 37 | ', '.join(STRONG_HASHES)) 38 | self.parser.insert_option_group(0, self.cmd_opts) 39 | 40 | def run(self, options, args): 41 | if not args: 42 | self.parser.print_usage(sys.stderr) 43 | return ERROR 44 | 45 | algorithm = options.algorithm 46 | for path in args: 47 | logger.info('%s:\n--hash=%s:%s', 48 | path, algorithm, _hash_of_file(path, algorithm)) 49 | 50 | 51 | def _hash_of_file(path, algorithm): 52 | """Return the hash digest of a file.""" 53 | with open(path, 'rb') as archive: 54 | hash = hashlib.new(algorithm) 55 | for chunk in read_chunks(archive): 56 | hash.update(chunk) 57 | return hash.hexdigest() 58 | -------------------------------------------------------------------------------- /.svn/pristine/61/61ea41102128f9788c67662c2062305961809582.svn-base: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.29.0) 3 | Root-Is-Purelib: true 4 | Tag: py2-none-any 5 | Tag: py3-none-any 6 | 7 | -------------------------------------------------------------------------------- /.svn/pristine/62/624fd229eeb9cafd3b355c553d55d7bcb67a7456.svn-base: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | import allure 3 | import pytest 4 | import requests 5 | ''' 6 | @author: lingshu 7 | @file: test_postman_api.py 8 | @time: 2019/7/8 20:54 9 | @desc: 测试postman API 10 | ''' 11 | 12 | @allure.feature('postman') 13 | @allure.story('postman-api') 14 | @pytest.mark.parametrize('timestamp,target,expected',[ 15 | ('2016-10-10','2018-12-13',True), 16 | ('2016-10-10','2018-13-13',False), 17 | ('2016-10-10','2015-12-13',False), 18 | ('2016-10-10','2019-12-33',False), 19 | ('2019-12-33','2019-6-30',False), 20 | ('','2019-6-30',False), 21 | ('6-30','7-30',False), 22 | ('2017','2018',False), 23 | ('','',False), 24 | ('2016-10','2018-12',True) 25 | ]) 26 | def test_timestamp(timestamp,target,expected,env_config): 27 | """ 28 | 用例描述:测试不同的timestamp和target 29 | """ 30 | #从yml配置文件获取url 31 | url = env_config['host']['url'] 32 | payload = {'timestamp':timestamp,'target':target} 33 | r = requests.get(url,params=payload) 34 | print(r.url) 35 | result = r.json() 36 | assert result['before']==expected 37 | 38 | -------------------------------------------------------------------------------- /.svn/pristine/66/6661be83dd1ff765e9a82cebc1e22574a8cf1401.svn-base: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Copyright (c) 2012 Giorgos Verigakis 4 | # 5 | # Permission to use, copy, modify, and distribute this software for any 6 | # purpose with or without fee is hereby granted, provided that the above 7 | # copyright notice and this permission notice appear in all copies. 8 | # 9 | # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | 17 | from __future__ import unicode_literals 18 | from . import Infinite, Progress 19 | from .helpers import WriteMixin 20 | 21 | 22 | class Counter(WriteMixin, Infinite): 23 | message = '' 24 | hide_cursor = True 25 | 26 | def update(self): 27 | self.write(str(self.index)) 28 | 29 | 30 | class Countdown(WriteMixin, Progress): 31 | hide_cursor = True 32 | 33 | def update(self): 34 | self.write(str(self.remaining)) 35 | 36 | 37 | class Stack(WriteMixin, Progress): 38 | phases = (' ', '▁', '▂', '▃', '▄', '▅', '▆', '▇', '█') 39 | hide_cursor = True 40 | 41 | def update(self): 42 | nphases = len(self.phases) 43 | i = min(nphases - 1, int(self.progress * nphases)) 44 | self.write(self.phases[i]) 45 | 46 | 47 | class Pie(Stack): 48 | phases = ('○', '◔', '◑', '◕', '●') 49 | -------------------------------------------------------------------------------- /.svn/pristine/67/671d05c5f20a4cd78c508d566c7cfd641cc4adb4.svn-base: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.svn/pristine/67/67d360a32d3b3a723998ca8ac1fae5a242afbce7.svn-base: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 holger krekel (rather uses bitbucket/hpk42) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /.svn/pristine/6a/6a5cfb8ac17d20c77ef8ba977d2d241f53fb6f8c.svn-base: -------------------------------------------------------------------------------- 1 | __version__ = "19.0.3" 2 | -------------------------------------------------------------------------------- /.svn/pristine/6b/6b9c4a06aec0d5aeaa6fbe2b56012eeffa5ddf60.svn-base: -------------------------------------------------------------------------------- 1 | import logging 2 | 3 | from pip._vendor import requests 4 | 5 | from pip._vendor.cachecontrol.adapter import CacheControlAdapter 6 | from pip._vendor.cachecontrol.cache import DictCache 7 | from pip._vendor.cachecontrol.controller import logger 8 | 9 | from argparse import ArgumentParser 10 | 11 | 12 | def setup_logging(): 13 | logger.setLevel(logging.DEBUG) 14 | handler = logging.StreamHandler() 15 | logger.addHandler(handler) 16 | 17 | 18 | def get_session(): 19 | adapter = CacheControlAdapter( 20 | DictCache(), cache_etags=True, serializer=None, heuristic=None 21 | ) 22 | sess = requests.Session() 23 | sess.mount("http://", adapter) 24 | sess.mount("https://", adapter) 25 | 26 | sess.cache_controller = adapter.controller 27 | return sess 28 | 29 | 30 | def get_args(): 31 | parser = ArgumentParser() 32 | parser.add_argument("url", help="The URL to try and cache") 33 | return parser.parse_args() 34 | 35 | 36 | def main(args=None): 37 | args = get_args() 38 | sess = get_session() 39 | 40 | # Make a request to get a response 41 | resp = sess.get(args.url) 42 | 43 | # Turn on logging 44 | setup_logging() 45 | 46 | # try setting the cache 47 | sess.cache_controller.cache_response(resp.request, resp.raw) 48 | 49 | # Now try to get it 50 | if sess.cache_controller.cached_request(resp.request): 51 | print("Cached!") 52 | else: 53 | print("Not cached :(") 54 | 55 | 56 | if __name__ == "__main__": 57 | main() 58 | -------------------------------------------------------------------------------- /.svn/pristine/6e/6e081c955ee08f9f533bf2856ac98f93906ef593.svn-base: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | """ 4 | requests.hooks 5 | ~~~~~~~~~~~~~~ 6 | 7 | This module provides the capabilities for the Requests hooks system. 8 | 9 | Available hooks: 10 | 11 | ``response``: 12 | The response generated from a Request. 13 | """ 14 | HOOKS = ['response'] 15 | 16 | 17 | def default_hooks(): 18 | return {event: [] for event in HOOKS} 19 | 20 | # TODO: response is the only one 21 | 22 | 23 | def dispatch_hook(key, hooks, hook_data, **kwargs): 24 | """Dispatches a hook dictionary on a given piece of data.""" 25 | hooks = hooks or {} 26 | hooks = hooks.get(key) 27 | if hooks: 28 | if hasattr(hooks, '__call__'): 29 | hooks = [hooks] 30 | for hook in hooks: 31 | _hook_data = hook(hook_data, **kwargs) 32 | if _hook_data is not None: 33 | hook_data = _hook_data 34 | return hook_data 35 | -------------------------------------------------------------------------------- /.svn/pristine/6e/6e5639bd19a6cbe9e2d42468a7f87fad44fc68e7.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/6e/6e5639bd19a6cbe9e2d42468a7f87fad44fc68e7.svn-base -------------------------------------------------------------------------------- /.svn/pristine/6e/6e5821ddd8fea6681bda4448816f39984a33596b.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/6e/6e5821ddd8fea6681bda4448816f39984a33596b.svn-base -------------------------------------------------------------------------------- /.svn/pristine/6f/6f5f2e5c4b49f5cf9a7b5337abb4a83a9a5d2770.svn-base: -------------------------------------------------------------------------------- 1 | from more_itertools.more import * # noqa 2 | from more_itertools.recipes import * # noqa 3 | -------------------------------------------------------------------------------- /.svn/pristine/70/709e6fe0a594a0157985ea30730508ca8b53aeff.svn-base: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | """ 4 | requests.compat 5 | ~~~~~~~~~~~~~~~ 6 | 7 | This module handles import compatibility issues between Python 2 and 8 | Python 3. 9 | """ 10 | 11 | import chardet 12 | 13 | import sys 14 | 15 | # ------- 16 | # Pythons 17 | # ------- 18 | 19 | # Syntax sugar. 20 | _ver = sys.version_info 21 | 22 | #: Python 2.x? 23 | is_py2 = (_ver[0] == 2) 24 | 25 | #: Python 3.x? 26 | is_py3 = (_ver[0] == 3) 27 | 28 | try: 29 | import simplejson as json 30 | except ImportError: 31 | import json 32 | 33 | # --------- 34 | # Specifics 35 | # --------- 36 | 37 | if is_py2: 38 | from urllib import ( 39 | quote, unquote, quote_plus, unquote_plus, urlencode, getproxies, 40 | proxy_bypass, proxy_bypass_environment, getproxies_environment) 41 | from urlparse import urlparse, urlunparse, urljoin, urlsplit, urldefrag 42 | from urllib2 import parse_http_list 43 | import cookielib 44 | from Cookie import Morsel 45 | from StringIO import StringIO 46 | from collections import Callable, Mapping, MutableMapping, OrderedDict 47 | 48 | 49 | builtin_str = str 50 | bytes = str 51 | str = unicode 52 | basestring = basestring 53 | numeric_types = (int, long, float) 54 | integer_types = (int, long) 55 | 56 | elif is_py3: 57 | from urllib.parse import urlparse, urlunparse, urljoin, urlsplit, urlencode, quote, unquote, quote_plus, unquote_plus, urldefrag 58 | from urllib.request import parse_http_list, getproxies, proxy_bypass, proxy_bypass_environment, getproxies_environment 59 | from http import cookiejar as cookielib 60 | from http.cookies import Morsel 61 | from io import StringIO 62 | from collections import OrderedDict 63 | from collections.abc import Callable, Mapping, MutableMapping 64 | 65 | builtin_str = str 66 | str = str 67 | bytes = bytes 68 | basestring = (str, bytes) 69 | numeric_types = (int, float) 70 | integer_types = (int,) 71 | -------------------------------------------------------------------------------- /.svn/pristine/71/713a8f8824024e8efc59e70f03282a7dedd642d1.svn-base: -------------------------------------------------------------------------------- 1 | import logging 2 | 3 | from pip._internal.cli.base_command import Command 4 | from pip._internal.operations.check import ( 5 | check_package_set, create_package_set_from_installed, 6 | ) 7 | 8 | logger = logging.getLogger(__name__) 9 | 10 | 11 | class CheckCommand(Command): 12 | """Verify installed packages have compatible dependencies.""" 13 | name = 'check' 14 | usage = """ 15 | %prog [options]""" 16 | summary = 'Verify installed packages have compatible dependencies.' 17 | 18 | def run(self, options, args): 19 | package_set, parsing_probs = create_package_set_from_installed() 20 | missing, conflicting = check_package_set(package_set) 21 | 22 | for project_name in missing: 23 | version = package_set[project_name].version 24 | for dependency in missing[project_name]: 25 | logger.info( 26 | "%s %s requires %s, which is not installed.", 27 | project_name, version, dependency[0], 28 | ) 29 | 30 | for project_name in conflicting: 31 | version = package_set[project_name].version 32 | for dep_name, dep_version, req in conflicting[project_name]: 33 | logger.info( 34 | "%s %s has requirement %s, but you have %s %s.", 35 | project_name, version, req, dep_name, dep_version, 36 | ) 37 | 38 | if missing or conflicting or parsing_probs: 39 | return 1 40 | else: 41 | logger.info("No broken requirements found.") 42 | -------------------------------------------------------------------------------- /.svn/pristine/71/71c61876fb64cd9be7742011295795933f5ec52e.svn-base: -------------------------------------------------------------------------------- 1 | pluggy 2 | -------------------------------------------------------------------------------- /.svn/pristine/74/7403bd0a84624cd456faa3d7ac61b14bf7e5ac98.svn-base: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import, division, unicode_literals 2 | 3 | from xml.dom import Node 4 | 5 | from . import base 6 | 7 | 8 | class TreeWalker(base.NonRecursiveTreeWalker): 9 | def getNodeDetails(self, node): 10 | if node.nodeType == Node.DOCUMENT_TYPE_NODE: 11 | return base.DOCTYPE, node.name, node.publicId, node.systemId 12 | 13 | elif node.nodeType in (Node.TEXT_NODE, Node.CDATA_SECTION_NODE): 14 | return base.TEXT, node.nodeValue 15 | 16 | elif node.nodeType == Node.ELEMENT_NODE: 17 | attrs = {} 18 | for attr in list(node.attributes.keys()): 19 | attr = node.getAttributeNode(attr) 20 | if attr.namespaceURI: 21 | attrs[(attr.namespaceURI, attr.localName)] = attr.value 22 | else: 23 | attrs[(None, attr.name)] = attr.value 24 | return (base.ELEMENT, node.namespaceURI, node.nodeName, 25 | attrs, node.hasChildNodes()) 26 | 27 | elif node.nodeType == Node.COMMENT_NODE: 28 | return base.COMMENT, node.nodeValue 29 | 30 | elif node.nodeType in (Node.DOCUMENT_NODE, Node.DOCUMENT_FRAGMENT_NODE): 31 | return (base.DOCUMENT,) 32 | 33 | else: 34 | return base.UNKNOWN, node.nodeType 35 | 36 | def getFirstChild(self, node): 37 | return node.firstChild 38 | 39 | def getNextSibling(self, node): 40 | return node.nextSibling 41 | 42 | def getParentNode(self, node): 43 | return node.parentNode 44 | -------------------------------------------------------------------------------- /.svn/pristine/74/747319e93621acb9126990f49567faa72a344463.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/74/747319e93621acb9126990f49567faa72a344463.svn-base -------------------------------------------------------------------------------- /.svn/pristine/74/74e5f4a45cf9a2e4e3e1f66456676bc7c49b2fd1.svn-base: -------------------------------------------------------------------------------- 1 | # This file is dual licensed under the terms of the Apache License, Version 2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository 3 | # for complete details. 4 | from __future__ import absolute_import, division, print_function 5 | 6 | from .__about__ import ( 7 | __author__, 8 | __copyright__, 9 | __email__, 10 | __license__, 11 | __summary__, 12 | __title__, 13 | __uri__, 14 | __version__, 15 | ) 16 | 17 | __all__ = [ 18 | "__title__", 19 | "__summary__", 20 | "__uri__", 21 | "__version__", 22 | "__author__", 23 | "__email__", 24 | "__license__", 25 | "__copyright__", 26 | ] 27 | -------------------------------------------------------------------------------- /.svn/pristine/75/7543b2fa3496c06889553d928b867971480758c0.svn-base: -------------------------------------------------------------------------------- 1 | # Created by pytest automatically. 2 | * -------------------------------------------------------------------------------- /.svn/pristine/75/754503e9beb14ed2731438b32558350661729485.svn-base: -------------------------------------------------------------------------------- 1 | __version__ = '2.8' 2 | 3 | -------------------------------------------------------------------------------- /.svn/pristine/76/7667012ed9317ab115207d83c1f156973d29b5ae.svn-base: -------------------------------------------------------------------------------- 1 | UNKNOWN 2 | 3 | 4 | -------------------------------------------------------------------------------- /.svn/pristine/76/76797756618215a069abbf6821a448404cda2ee0.svn-base: -------------------------------------------------------------------------------- 1 | from __future__ import division 2 | 3 | from datetime import datetime 4 | from pip._vendor.cachecontrol.cache import BaseCache 5 | 6 | 7 | class RedisCache(BaseCache): 8 | 9 | def __init__(self, conn): 10 | self.conn = conn 11 | 12 | def get(self, key): 13 | return self.conn.get(key) 14 | 15 | def set(self, key, value, expires=None): 16 | if not expires: 17 | self.conn.set(key, value) 18 | else: 19 | expires = expires - datetime.utcnow() 20 | self.conn.setex(key, int(expires.total_seconds()), value) 21 | 22 | def delete(self, key): 23 | self.conn.delete(key) 24 | 25 | def clear(self): 26 | """Helper for clearing all the keys in a database. Use with 27 | caution!""" 28 | for key in self.conn.keys(): 29 | self.conn.delete(key) 30 | 31 | def close(self): 32 | """Redis uses connection pooling, no need to close the connection.""" 33 | pass 34 | -------------------------------------------------------------------------------- /.svn/pristine/77/77bf2a555e877dae3cd2ab541e48ce46ca5c836d.svn-base: -------------------------------------------------------------------------------- 1 | more_itertools 2 | -------------------------------------------------------------------------------- /.svn/pristine/79/79434f4d8c70941e802934ee81dbf9f132c06e2e.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/79/79434f4d8c70941e802934ee81dbf9f132c06e2e.svn-base -------------------------------------------------------------------------------- /.svn/pristine/79/795e6f5c6f1a45db671d012a719047e51f80bf32.svn-base: -------------------------------------------------------------------------------- 1 | py 2 | -------------------------------------------------------------------------------- /.svn/pristine/79/796958082b68b64399fd68d445cbcca8409d0c91.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/79/796958082b68b64399fd68d445cbcca8409d0c91.svn-base -------------------------------------------------------------------------------- /.svn/pristine/79/79d873fe1cef7f73d47dd5b4eae8d7b1be139bd9.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/79/79d873fe1cef7f73d47dd5b4eae8d7b1be139bd9.svn-base -------------------------------------------------------------------------------- /.svn/pristine/7a/7a39f3c0516e5ed28b462b061577583291a54f54.svn-base: -------------------------------------------------------------------------------- 1 | atomicwrites-1.3.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 2 | atomicwrites-1.3.0.dist-info/METADATA,sha256=T9BgDww1IuYBG4de40vAgvpSbNBrRtNjTBNcukt1HZU,5535 3 | atomicwrites-1.3.0.dist-info/RECORD,, 4 | atomicwrites-1.3.0.dist-info/WHEEL,sha256=gduuPyBvFJQSQ0zdyxF7k0zynDXbIbvg5ZBHoXum5uk,110 5 | atomicwrites-1.3.0.dist-info/top_level.txt,sha256=ks64zKVUkrl2ZrrP046CsytXlSGf8gLG-IcoXpNyeoc,13 6 | atomicwrites/__init__.py,sha256=00DapdQb04-k79KZjzzfwnI1Q8nfsiF5TPeVcqbGVw0,6562 7 | atomicwrites/__pycache__/__init__.cpython-37.pyc,, 8 | -------------------------------------------------------------------------------- /.svn/pristine/7b/7b3d778991ef6a3eaa7852414919b05b06a1b1a6.svn-base: -------------------------------------------------------------------------------- 1 | """ input/output helping """ 2 | -------------------------------------------------------------------------------- /.svn/pristine/7b/7b83a4f392668a375a081805b2cd766ae27ee1ff.svn-base: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import 2 | from __future__ import division 3 | from __future__ import print_function 4 | 5 | import pytest 6 | 7 | 8 | def pytest_addoption(parser): 9 | group = parser.getgroup("debugconfig") 10 | group.addoption( 11 | "--setupplan", 12 | "--setup-plan", 13 | action="store_true", 14 | help="show what fixtures and tests would be executed but " 15 | "don't execute anything.", 16 | ) 17 | 18 | 19 | @pytest.hookimpl(tryfirst=True) 20 | def pytest_fixture_setup(fixturedef, request): 21 | # Will return a dummy fixture if the setuponly option is provided. 22 | if request.config.option.setupplan: 23 | fixturedef.cached_result = (None, None, None) 24 | return fixturedef.cached_result 25 | 26 | 27 | @pytest.hookimpl(tryfirst=True) 28 | def pytest_cmdline_main(config): 29 | if config.option.setupplan: 30 | config.option.setuponly = True 31 | config.option.setupshow = True 32 | -------------------------------------------------------------------------------- /.svn/pristine/7b/7b8979d7a63b025bb960e10ab937e7b18fc2ffbf.svn-base: -------------------------------------------------------------------------------- 1 | allure_pytest-2.6.2.dist-info/DESCRIPTION.rst,sha256=RdYQ-zNuGBOOmFcDt2CdiLGanlRp6TBTF3i3W-6BSiM,705 2 | allure_pytest-2.6.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 3 | allure_pytest-2.6.2.dist-info/METADATA,sha256=PRmF85_DolHwe_HMzVbogJedEXIG3nahGdrthCoqZ94,1433 4 | allure_pytest-2.6.2.dist-info/RECORD,, 5 | allure_pytest-2.6.2.dist-info/WHEEL,sha256=o2k-Qa-RMNIJmUdIc7KU6VWR_ErNRbWNlxDIpl7lm34,110 6 | allure_pytest-2.6.2.dist-info/entry_points.txt,sha256=Dbm-YeyLZxQVBdjO6sJGJtcsJkhpaGpVHqkQtPtaqqE,49 7 | allure_pytest-2.6.2.dist-info/metadata.json,sha256=u-XCeA0dBKAMJFqPCp2i4i9Zf07HC5Tn_65-6sryeEQ,977 8 | allure_pytest-2.6.2.dist-info/top_level.txt,sha256=gmzJbifaAcyyhtfSynvAbJ-kiZA2iN_5-FjZgT39tBE,14 9 | allure_pytest/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 10 | allure_pytest/__pycache__/__init__.cpython-37.pyc,, 11 | allure_pytest/__pycache__/helper.cpython-37.pyc,, 12 | allure_pytest/__pycache__/listener.cpython-37.pyc,, 13 | allure_pytest/__pycache__/plugin.cpython-37.pyc,, 14 | allure_pytest/__pycache__/utils.cpython-37.pyc,, 15 | allure_pytest/helper.py,sha256=-aSI1bVPjzplOUwBFx-g8ACmWie73fp8GedVnfaTjIE,1882 16 | allure_pytest/listener.py,sha256=OzaWM0c7T_1jE2Sw-CIifydKQYwOYfi3lAZRwN4PxBE,12053 17 | allure_pytest/plugin.py,sha256=jJQ93WLjzzJbOAWW3ROMaCOZ8uFkOOJuQeqKvc-4EOE,6731 18 | allure_pytest/utils.py,sha256=cIhXzs8dpHFv_RbslcQ4uExmuDDEbvYAEzh4NbjrgUI,5584 19 | -------------------------------------------------------------------------------- /.svn/pristine/7d/7d5dc28c0c0e194add03ce5b05e6c26cb787e8c0.svn-base: -------------------------------------------------------------------------------- 1 | __all__ = ["__version__"] 2 | 3 | try: 4 | from ._version import version as __version__ 5 | except ImportError: 6 | # broken installation, we don't even try 7 | # unknown only works because we do poor mans version compare 8 | __version__ = "unknown" 9 | -------------------------------------------------------------------------------- /.svn/pristine/7d/7d7396638e8f9917d67cb94312ab5f95d85dd691.svn-base: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.32.2) 3 | Root-Is-Purelib: true 4 | Tag: py2-none-any 5 | Tag: py3-none-any 6 | 7 | -------------------------------------------------------------------------------- /.svn/pristine/7d/7dd6a5376d6f9dfa45a7499823adcece772b3f01.svn-base: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010-2018 Benjamin Peterson 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of 4 | this software and associated documentation files (the "Software"), to deal in 5 | the Software without restriction, including without limitation the rights to 6 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 7 | the Software, and to permit persons to whom the Software is furnished to do so, 8 | subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 15 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 16 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 17 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 18 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 19 | -------------------------------------------------------------------------------- /.svn/pristine/7e/7e208f03e4e95fff4731ac857c5cee8d7fc189fc.svn-base: -------------------------------------------------------------------------------- 1 | class FrozenInstanceError(AttributeError): 2 | msg: str = ... 3 | 4 | class AttrsAttributeNotFoundError(ValueError): ... 5 | class NotAnAttrsClassError(ValueError): ... 6 | class DefaultAlreadySetError(RuntimeError): ... 7 | class UnannotatedAttributeError(RuntimeError): ... 8 | -------------------------------------------------------------------------------- /.svn/pristine/80/802061e7abbf85045b0edf32e83898d2743756ca.svn-base: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import, division, unicode_literals 2 | 3 | from . import base 4 | 5 | from collections import OrderedDict 6 | 7 | 8 | def _attr_key(attr): 9 | """Return an appropriate key for an attribute for sorting 10 | 11 | Attributes have a namespace that can be either ``None`` or a string. We 12 | can't compare the two because they're different types, so we convert 13 | ``None`` to an empty string first. 14 | 15 | """ 16 | return (attr[0][0] or ''), attr[0][1] 17 | 18 | 19 | class Filter(base.Filter): 20 | """Alphabetizes attributes for elements""" 21 | def __iter__(self): 22 | for token in base.Filter.__iter__(self): 23 | if token["type"] in ("StartTag", "EmptyTag"): 24 | attrs = OrderedDict() 25 | for name, value in sorted(token["data"].items(), 26 | key=_attr_key): 27 | attrs[name] = value 28 | token["data"] = attrs 29 | yield token 30 | -------------------------------------------------------------------------------- /.svn/pristine/81/815e1c6a55fcc03b889bf94ac5a4db04c968632f.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/81/815e1c6a55fcc03b889bf94ac5a4db04c968632f.svn-base -------------------------------------------------------------------------------- /.svn/pristine/81/81f3a31ffc084b35e3c30f2976cbbb4efd494746.svn-base: -------------------------------------------------------------------------------- 1 | host: 2 | url: https://postman-echo.com/time/before -------------------------------------------------------------------------------- /.svn/pristine/83/83b01c54c1d9653050a09f88bcff1222d7b2dd10.svn-base: -------------------------------------------------------------------------------- 1 | { 2 | "test_allure_demo.py::test_case_01": true, 3 | "test_allure_demo.py::test_case_02": true, 4 | "test_allure_demo.py::test_case_03": true, 5 | "test_allure_demo.py::test_case_04": true, 6 | "test_auth_login.py::TestAuthLogin::test_pre\u83b7\u53d6\u624b\u673a\u53f7\u7801\u9a8c\u8bc1\u7801": true, 7 | "test_auth_login.py::TestAuthLogin::test_\u6839\u636e\u57ce\u5e02ID\u83b7\u53d6\u5c0f\u533a\u5217\u8868": true, 8 | "test_auth_login.py::TestAuthLogin::test_\u83b7\u53d6\u57ce\u5e02\u5217\u8868": true, 9 | "test_auth_login.py::TestAuthLogin::test_\u83b7\u53d6\u624b\u673a\u53f7\u7801\u9a8c\u8bc1\u7801": true, 10 | "test_house_controller.py::TestHoustController::test_house_list": true, 11 | "test_postman_api.py::test_timestamp[1996-1990-flase]": true, 12 | "test_postman_api.py::test_timestamp[1996-1992-flase]": true, 13 | "test_postman_api.py::test_timestamp[1996-1993-true]": true, 14 | "test_postman_api.py::test_timestamp[2016-10-10-2015-12-13-Flase]": true, 15 | "test_postman_api.py::test_timestamp[2016-10-10-2018-12-13-true]": true, 16 | "test_postman_api.py::test_timestamp[2016-10-10-2018-13-13-Flase]": true, 17 | "test_shopping_trolley.py::TestShoppingTrolley::test_add_shopping_trolley": true 18 | } -------------------------------------------------------------------------------- /.svn/pristine/8b/8b6477051a09d419baf797f906183571a65b9b82.svn-base: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.svn/pristine/8d/8d446ae32e199b1f39b07dcd1331f02fefd0a817.svn-base: -------------------------------------------------------------------------------- 1 | from typing import Container, List, Union, TypeVar, Type, Any, Optional, Tuple 2 | from . import _ValidatorType 3 | 4 | _T = TypeVar("_T") 5 | 6 | def instance_of( 7 | type: Union[Tuple[Type[_T], ...], Type[_T]] 8 | ) -> _ValidatorType[_T]: ... 9 | def provides(interface: Any) -> _ValidatorType[Any]: ... 10 | def optional( 11 | validator: Union[_ValidatorType[_T], List[_ValidatorType[_T]]] 12 | ) -> _ValidatorType[Optional[_T]]: ... 13 | def in_(options: Container[_T]) -> _ValidatorType[_T]: ... 14 | def and_(*validators: _ValidatorType[_T]) -> _ValidatorType[_T]: ... 15 | def deep_iterable( 16 | member_validator: _ValidatorType[_T], 17 | iterable_validator: Optional[_ValidatorType[_T]], 18 | ) -> _ValidatorType[_T]: ... 19 | def deep_mapping( 20 | key_validator: _ValidatorType[_T], 21 | value_validator: _ValidatorType[_T], 22 | mapping_validator: Optional[_ValidatorType[_T]], 23 | ) -> _ValidatorType[_T]: ... 24 | def is_callable() -> _ValidatorType[_T]: ... 25 | -------------------------------------------------------------------------------- /.svn/pristine/8d/8dbcbba4575b1801405d1d77f029b4c963ed23ce.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/8d/8dbcbba4575b1801405d1d77f029b4c963ed23ce.svn-base -------------------------------------------------------------------------------- /.svn/pristine/8e/8e0a4456296437b32b80e004035ce9a1b6df7fcd.svn-base: -------------------------------------------------------------------------------- 1 | [ 2 | "test_postman_api.py::test_timestamp[2016-10-10-2018-12-13-True]", 3 | "test_postman_api.py::test_timestamp[2016-10-10-2018-13-13-False]", 4 | "test_postman_api.py::test_timestamp[2016-10-10-2015-12-13-False]" 5 | ] -------------------------------------------------------------------------------- /.svn/pristine/8e/8ee11eeef155cff27768377c0ddb798c51228612.svn-base: -------------------------------------------------------------------------------- 1 | import os 2 | import os.path 3 | 4 | from pip._internal.utils.compat import get_path_uid 5 | 6 | 7 | def check_path_owner(path): 8 | # type: (str) -> bool 9 | # If we don't have a way to check the effective uid of this process, then 10 | # we'll just assume that we own the directory. 11 | if not hasattr(os, "geteuid"): 12 | return True 13 | 14 | previous = None 15 | while path != previous: 16 | if os.path.lexists(path): 17 | # Check if path is writable by current user. 18 | if os.geteuid() == 0: 19 | # Special handling for root user in order to handle properly 20 | # cases where users use sudo without -H flag. 21 | try: 22 | path_uid = get_path_uid(path) 23 | except OSError: 24 | return False 25 | return path_uid == 0 26 | else: 27 | return os.access(path, os.W_OK) 28 | else: 29 | previous, path = path, os.path.dirname(path) 30 | return False # assume we don't own the path 31 | -------------------------------------------------------------------------------- /.svn/pristine/8f/8f1c8edad0338f65dace85a9b68ea469c858427b.svn-base: -------------------------------------------------------------------------------- 1 | """ 2 | Given a list of integers, made up of (hopefully) a small number of long runs 3 | of consecutive integers, compute a representation of the form 4 | ((start1, end1), (start2, end2) ...). Then answer the question "was x present 5 | in the original list?" in time O(log(# runs)). 6 | """ 7 | 8 | import bisect 9 | 10 | def intranges_from_list(list_): 11 | """Represent a list of integers as a sequence of ranges: 12 | ((start_0, end_0), (start_1, end_1), ...), such that the original 13 | integers are exactly those x such that start_i <= x < end_i for some i. 14 | 15 | Ranges are encoded as single integers (start << 32 | end), not as tuples. 16 | """ 17 | 18 | sorted_list = sorted(list_) 19 | ranges = [] 20 | last_write = -1 21 | for i in range(len(sorted_list)): 22 | if i+1 < len(sorted_list): 23 | if sorted_list[i] == sorted_list[i+1]-1: 24 | continue 25 | current_range = sorted_list[last_write+1:i+1] 26 | ranges.append(_encode_range(current_range[0], current_range[-1] + 1)) 27 | last_write = i 28 | 29 | return tuple(ranges) 30 | 31 | def _encode_range(start, end): 32 | return (start << 32) | end 33 | 34 | def _decode_range(r): 35 | return (r >> 32), (r & ((1 << 32) - 1)) 36 | 37 | 38 | def intranges_contain(int_, ranges): 39 | """Determine if `int_` falls into one of the ranges in `ranges`.""" 40 | tuple_ = _encode_range(int_, 0) 41 | pos = bisect.bisect_left(ranges, tuple_) 42 | # we could be immediately ahead of a tuple (start, end) 43 | # with start < int_ <= end 44 | if pos > 0: 45 | left, right = _decode_range(ranges[pos-1]) 46 | if left <= int_ < right: 47 | return True 48 | # or we could be immediately behind a tuple (int_, end) 49 | if pos < len(ranges): 50 | left, _ = _decode_range(ranges[pos]) 51 | if left == int_: 52 | return True 53 | return False 54 | -------------------------------------------------------------------------------- /.svn/pristine/90/90828c0c40c1a6b6b33fb9088d9b9e9ed75ea454.svn-base: -------------------------------------------------------------------------------- 1 | try: 2 | from ._version import version as __version__ 3 | except ImportError: 4 | # broken installation, we don't even try 5 | # unknown only works because we do poor mans version compare 6 | __version__ = "unknown" 7 | 8 | __all__ = [ 9 | "PluginManager", 10 | "PluginValidationError", 11 | "HookCallError", 12 | "HookspecMarker", 13 | "HookimplMarker", 14 | ] 15 | 16 | from .manager import PluginManager, PluginValidationError 17 | from .callers import HookCallError 18 | from .hooks import HookspecMarker, HookimplMarker 19 | -------------------------------------------------------------------------------- /.svn/pristine/92/9267d5f5cc779547429b62949d352e3ba40b5a9f.svn-base: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import, division, unicode_literals 2 | 3 | 4 | class Filter(object): 5 | def __init__(self, source): 6 | self.source = source 7 | 8 | def __iter__(self): 9 | return iter(self.source) 10 | 11 | def __getattr__(self, name): 12 | return getattr(self.source, name) 13 | -------------------------------------------------------------------------------- /.svn/pristine/92/92d5060be616a4f637e69aa7c4548a08b91d6276.svn-base: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | import allure 3 | import pytest 4 | import requests 5 | from utils.read_excel import * 6 | ''' 7 | @author: lingshu 8 | @file: test_postman_api.py 9 | @time: 2019/7/8 20:54 10 | @desc: 测试postman API 11 | ''' 12 | 13 | test_data = [ 14 | ('2016-10-10','2018-12-13',True), 15 | ('2016-10','2018-12',True), 16 | ('2016-10-10','2018-13-13',False), 17 | ('2016-10-10','2015-12-13',False), 18 | ('2016-10-10','2019-12-33',False), 19 | ('2019-12-33','2019-6-30',False), 20 | ('','2019-6-30',False), 21 | ('6-30','7-30',False), 22 | ('2017','2018',False), 23 | ('','',False), 24 | ('abc','2019-6-30',False), 25 | ('20190501','2019-6-30',False) 26 | ] 27 | 28 | test_data2 = get_xls() 29 | 30 | @allure.feature('postman') 31 | @allure.story('postman-api') 32 | @pytest.mark.parametrize('timestamp,target,expected',test_data2) 33 | def test_timestamp(timestamp,target,expected,env_config): 34 | """ 35 | 用例描述:测试不同的timestamp和target 36 | """ 37 | #从yml配置文件获取url 38 | url = env_config['host']['url'] 39 | payload = {'timestamp':timestamp,'target':target} 40 | r = requests.get(url,params=payload) 41 | print(r.url) 42 | result = r.json() 43 | assert str(result['before'])==expected 44 | 45 | -------------------------------------------------------------------------------- /.svn/pristine/94/943b82b14ef85715ec21366c16d15f76c7b45ddc.svn-base: -------------------------------------------------------------------------------- 1 | [console_scripts] 2 | pip = pip._internal:main 3 | pip3 = pip._internal:main 4 | pip3.7 = pip._internal:main 5 | 6 | -------------------------------------------------------------------------------- /.svn/pristine/94/944be04b4ce62d05a0b180fb0e5db2aa5f03acd9.svn-base: -------------------------------------------------------------------------------- 1 | import datetime 2 | import re 3 | 4 | rfc3339_re = re.compile(r'(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(\.\d+)?(?:Z|([+-]\d{2}):(\d{2}))') 5 | 6 | def parse_rfc3339(v): 7 | m = rfc3339_re.match(v) 8 | if not m or m.group(0) != v: 9 | return None 10 | return parse_rfc3339_re(m) 11 | 12 | def parse_rfc3339_re(m): 13 | r = map(int, m.groups()[:6]) 14 | if m.group(7): 15 | micro = float(m.group(7)) 16 | else: 17 | micro = 0 18 | 19 | if m.group(8): 20 | g = int(m.group(8), 10) * 60 + int(m.group(9), 10) 21 | tz = _TimeZone(datetime.timedelta(0, g * 60)) 22 | else: 23 | tz = _TimeZone(datetime.timedelta(0, 0)) 24 | 25 | y, m, d, H, M, S = r 26 | return datetime.datetime(y, m, d, H, M, S, int(micro * 1000000), tz) 27 | 28 | 29 | def format_rfc3339(v): 30 | offs = v.utcoffset() 31 | offs = int(offs.total_seconds()) // 60 if offs is not None else 0 32 | 33 | if offs == 0: 34 | suffix = 'Z' 35 | else: 36 | if offs > 0: 37 | suffix = '+' 38 | else: 39 | suffix = '-' 40 | offs = -offs 41 | suffix = '{0}{1:02}:{2:02}'.format(suffix, offs // 60, offs % 60) 42 | 43 | if v.microsecond: 44 | return v.strftime('%Y-%m-%dT%H:%M:%S.%f') + suffix 45 | else: 46 | return v.strftime('%Y-%m-%dT%H:%M:%S') + suffix 47 | 48 | class _TimeZone(datetime.tzinfo): 49 | def __init__(self, offset): 50 | self._offset = offset 51 | 52 | def utcoffset(self, dt): 53 | return self._offset 54 | 55 | def dst(self, dt): 56 | return None 57 | 58 | def tzname(self, dt): 59 | m = self._offset.total_seconds() // 60 60 | if m < 0: 61 | res = '-' 62 | m = -m 63 | else: 64 | res = '+' 65 | h = m // 60 66 | m = m - h * 60 67 | return '{}{:.02}{:.02}'.format(res, h, m) 68 | -------------------------------------------------------------------------------- /.svn/pristine/97/97d170e1550eee4afc0af065b78cda302a97674c.svn-base: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /.svn/pristine/98/984ed95559d8839532093da0dcca3bf37f49ca77.svn-base: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # 3 | # Copyright (C) 2012 The Python Software Foundation. 4 | # See LICENSE.txt and CONTRIBUTORS.txt. 5 | # 6 | """Backports for individual classes and functions.""" 7 | 8 | import os 9 | import sys 10 | 11 | __all__ = ['cache_from_source', 'callable', 'fsencode'] 12 | 13 | 14 | try: 15 | from imp import cache_from_source 16 | except ImportError: 17 | def cache_from_source(py_file, debug=__debug__): 18 | ext = debug and 'c' or 'o' 19 | return py_file + ext 20 | 21 | 22 | try: 23 | callable = callable 24 | except NameError: 25 | from collections import Callable 26 | 27 | def callable(obj): 28 | return isinstance(obj, Callable) 29 | 30 | 31 | try: 32 | fsencode = os.fsencode 33 | except AttributeError: 34 | def fsencode(filename): 35 | if isinstance(filename, bytes): 36 | return filename 37 | elif isinstance(filename, str): 38 | return filename.encode(sys.getfilesystemencoding()) 39 | else: 40 | raise TypeError("expect bytes or str, not %s" % 41 | type(filename).__name__) 42 | -------------------------------------------------------------------------------- /.svn/pristine/98/986e1aea742de99941697139b012ddefbf0c5348.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/98/986e1aea742de99941697139b012ddefbf0c5348.svn-base -------------------------------------------------------------------------------- /.svn/pristine/98/98c27656787e98fcc3748a5e96b9907a1799268c.svn-base: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import, division, print_function 2 | 3 | 4 | class FrozenInstanceError(AttributeError): 5 | """ 6 | A frozen/immutable instance has been attempted to be modified. 7 | 8 | It mirrors the behavior of ``namedtuples`` by using the same error message 9 | and subclassing :exc:`AttributeError`. 10 | 11 | .. versionadded:: 16.1.0 12 | """ 13 | 14 | msg = "can't set attribute" 15 | args = [msg] 16 | 17 | 18 | class AttrsAttributeNotFoundError(ValueError): 19 | """ 20 | An ``attrs`` function couldn't find an attribute that the user asked for. 21 | 22 | .. versionadded:: 16.2.0 23 | """ 24 | 25 | 26 | class NotAnAttrsClassError(ValueError): 27 | """ 28 | A non-``attrs`` class has been passed into an ``attrs`` function. 29 | 30 | .. versionadded:: 16.2.0 31 | """ 32 | 33 | 34 | class DefaultAlreadySetError(RuntimeError): 35 | """ 36 | A default has been set using ``attr.ib()`` and is attempted to be reset 37 | using the decorator. 38 | 39 | .. versionadded:: 17.1.0 40 | """ 41 | 42 | 43 | class UnannotatedAttributeError(RuntimeError): 44 | """ 45 | A class with ``auto_attribs=True`` has an ``attr.ib()`` without a type 46 | annotation. 47 | 48 | .. versionadded:: 17.3.0 49 | """ 50 | 51 | 52 | class PythonTooOldError(RuntimeError): 53 | """ 54 | An ``attrs`` feature requiring a more recent python version has been used. 55 | 56 | .. versionadded:: 18.2.0 57 | """ 58 | -------------------------------------------------------------------------------- /.svn/pristine/98/98f700043a9a954677ef8c7c6d4462b7f97c16af.svn-base: -------------------------------------------------------------------------------- 1 | import threading 2 | from six import with_metaclass 3 | from pluggy import PluginManager 4 | from allure_commons import _hooks 5 | 6 | 7 | class MetaPluginManager(type): 8 | _storage = threading.local() 9 | 10 | @staticmethod 11 | def get_plugin_manager(): 12 | if not hasattr(MetaPluginManager._storage, 'plugin_manager'): 13 | MetaPluginManager._storage.plugin_manager = PluginManager('allure') 14 | MetaPluginManager._storage.plugin_manager.add_hookspecs(_hooks.AllureUserHooks) 15 | MetaPluginManager._storage.plugin_manager.add_hookspecs(_hooks.AllureDeveloperHooks) 16 | 17 | return MetaPluginManager._storage.plugin_manager 18 | 19 | def __getattr__(cls, attr): 20 | pm = MetaPluginManager.get_plugin_manager() 21 | return getattr(pm, attr) 22 | 23 | 24 | class plugin_manager(with_metaclass(MetaPluginManager)): 25 | pass 26 | -------------------------------------------------------------------------------- /.svn/pristine/99/99349cfc479dc792ee5bcd0c858df18be34cfb3c.svn-base: -------------------------------------------------------------------------------- 1 | #!E:\PycharmProjects\pytest_requests_demo\venv\Scripts\python.exe 2 | # EASY-INSTALL-ENTRY-SCRIPT: 'pip==19.0.3','console_scripts','pip' 3 | __requires__ = 'pip==19.0.3' 4 | import re 5 | import sys 6 | from pkg_resources import load_entry_point 7 | 8 | if __name__ == '__main__': 9 | sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) 10 | sys.exit( 11 | load_entry_point('pip==19.0.3', 'console_scripts', 'pip')() 12 | ) 13 | -------------------------------------------------------------------------------- /.svn/pristine/9a/9a395866b68ec2e1ef71a0630554383bf925beb1.svn-base: -------------------------------------------------------------------------------- 1 | { 2 | "test_allure_demo.py::test_case_01": true, 3 | "test_allure_demo.py::test_case_02": true, 4 | "test_allure_demo.py::test_case_03": true, 5 | "test_allure_demo.py::test_case_04": true, 6 | "test_auth_login.py::TestAuthLogin::test_pre\u83b7\u53d6\u624b\u673a\u53f7\u7801\u9a8c\u8bc1\u7801": true, 7 | "test_auth_login.py::TestAuthLogin::test_\u6839\u636e\u57ce\u5e02ID\u83b7\u53d6\u5c0f\u533a\u5217\u8868": true, 8 | "test_auth_login.py::TestAuthLogin::test_\u83b7\u53d6\u57ce\u5e02\u5217\u8868": true, 9 | "test_auth_login.py::TestAuthLogin::test_\u83b7\u53d6\u624b\u673a\u53f7\u7801\u9a8c\u8bc1\u7801": true, 10 | "test_house_controller.py::TestHoustController::test_house_list": true, 11 | "test_postman_api.py": true, 12 | "test_postman_api.py::test_timestamp[--False]": true, 13 | "test_postman_api.py::test_timestamp[-2019-6-30-False]": true, 14 | "test_postman_api.py::test_timestamp[1996-1990-flase]": true, 15 | "test_postman_api.py::test_timestamp[1996-1992-flase]": true, 16 | "test_postman_api.py::test_timestamp[1996-1993-true]": true, 17 | "test_postman_api.py::test_timestamp[2016-10-10-2015-12-13-Flase]": true, 18 | "test_postman_api.py::test_timestamp[2016-10-10-2018-12-13-true]": true, 19 | "test_postman_api.py::test_timestamp[2016-10-10-2018-13-13-Flase]": true, 20 | "test_postman_api.py::test_timestamp[2016-10-2018-12-13-True]": true, 21 | "test_postman_api.py::test_timestamp[2017-2018-False]": true, 22 | "test_postman_api.py::test_timestamp[2019-12-33-2019-6-30-False]": true, 23 | "test_postman_api.py::test_timestamp[20190501-2019-6-30-False]": true, 24 | "test_postman_api.py::test_timestamp[6-30-7-30-False]": true, 25 | "test_postman_api.py::test_timestamp[abc-2019-6-30-False]": true, 26 | "test_shopping_trolley.py::TestShoppingTrolley::test_add_shopping_trolley": true 27 | } -------------------------------------------------------------------------------- /.svn/pristine/9d/9d2120560b68a6cf2b0eab89ccfbf5b5336067a9.svn-base: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import 2 | 3 | SUCCESS = 0 4 | ERROR = 1 5 | UNKNOWN_ERROR = 2 6 | VIRTUALENV_NOT_FOUND = 3 7 | PREVIOUS_BUILD_DIR_ERROR = 4 8 | NO_MATCHES_FOUND = 23 9 | -------------------------------------------------------------------------------- /.svn/pristine/9d/9df4d0b0727af97325374186f61037e9e62695c9.svn-base: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /.svn/pristine/9e/9e20edf37aa0b9857ec270702326bec66094b02e.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/9e/9e20edf37aa0b9857ec270702326bec66094b02e.svn-base -------------------------------------------------------------------------------- /.svn/pristine/9f/9f3e5a8f0bd0ff1c888f5d4ad97599749c5da1be.svn-base: -------------------------------------------------------------------------------- 1 | # Shim to wrap setup.py invocation with setuptools 2 | SETUPTOOLS_SHIM = ( 3 | "import setuptools, tokenize;__file__=%r;" 4 | "f=getattr(tokenize, 'open', open)(__file__);" 5 | "code=f.read().replace('\\r\\n', '\\n');" 6 | "f.close();" 7 | "exec(compile(code, __file__, 'exec'))" 8 | ) 9 | -------------------------------------------------------------------------------- /.svn/pristine/9f/9fa4a4909db79d6f8746bc049022f1a363815ef7.svn-base: -------------------------------------------------------------------------------- 1 | """ unified file system api """ 2 | -------------------------------------------------------------------------------- /.svn/pristine/a0/a04806af5c01574d2c9be645a633b9a41fb067ec.svn-base: -------------------------------------------------------------------------------- 1 | #!E:\PycharmProjects\pytest_requests_demo\venv\Scripts\python.exe 2 | # EASY-INSTALL-ENTRY-SCRIPT: 'pip==19.0.3','console_scripts','pip3.7' 3 | __requires__ = 'pip==19.0.3' 4 | import re 5 | import sys 6 | from pkg_resources import load_entry_point 7 | 8 | if __name__ == '__main__': 9 | sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) 10 | sys.exit( 11 | load_entry_point('pip==19.0.3', 'console_scripts', 'pip3.7')() 12 | ) 13 | -------------------------------------------------------------------------------- /.svn/pristine/a2/a227b1870b037c3a18ce5228ebd2b85de56f2e22.svn-base: -------------------------------------------------------------------------------- 1 | """ 2 | This module provides means to detect the App Engine environment. 3 | """ 4 | 5 | import os 6 | 7 | 8 | def is_appengine(): 9 | return (is_local_appengine() or 10 | is_prod_appengine() or 11 | is_prod_appengine_mvms()) 12 | 13 | 14 | def is_appengine_sandbox(): 15 | return is_appengine() and not is_prod_appengine_mvms() 16 | 17 | 18 | def is_local_appengine(): 19 | return ('APPENGINE_RUNTIME' in os.environ and 20 | 'Development/' in os.environ['SERVER_SOFTWARE']) 21 | 22 | 23 | def is_prod_appengine(): 24 | return ('APPENGINE_RUNTIME' in os.environ and 25 | 'Google App Engine/' in os.environ['SERVER_SOFTWARE'] and 26 | not is_prod_appengine_mvms()) 27 | 28 | 29 | def is_prod_appengine_mvms(): 30 | return os.environ.get('GAE_VM', False) == 'true' 31 | -------------------------------------------------------------------------------- /.svn/pristine/a5/a54ef437254bf7f73ef6f7b054d84b3d14341808.svn-base: -------------------------------------------------------------------------------- 1 | pluggy-0.9.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 2 | pluggy-0.9.0.dist-info/LICENSE,sha256=1rZebCE6XQtXeRHTTW5ZSbn1nXbCOMUHGi8_wWz7JgY,1110 3 | pluggy-0.9.0.dist-info/METADATA,sha256=IWOiZadffyhx_yYYzxvrSOEye-g0jHPzX5NWAGL1iGs,14020 4 | pluggy-0.9.0.dist-info/RECORD,, 5 | pluggy-0.9.0.dist-info/WHEEL,sha256=HX-v9-noUkyUoxyZ1PMSuS7auUxDAR4VBdoYLqD0xws,110 6 | pluggy-0.9.0.dist-info/top_level.txt,sha256=xKSCRhai-v9MckvMuWqNz16c1tbsmOggoMSwTgcpYHE,7 7 | pluggy/__init__.py,sha256=FlQ2T7ewtZu6euZ0pG_1YANZ_lXzV9LDdLSgKutQmEg,486 8 | pluggy/__pycache__/__init__.cpython-37.pyc,, 9 | pluggy/__pycache__/_tracing.cpython-37.pyc,, 10 | pluggy/__pycache__/_version.cpython-37.pyc,, 11 | pluggy/__pycache__/callers.cpython-37.pyc,, 12 | pluggy/__pycache__/hooks.cpython-37.pyc,, 13 | pluggy/__pycache__/manager.cpython-37.pyc,, 14 | pluggy/_tracing.py,sha256=ybISM_9R8sV3W63bH0uUUInkWmreHWuDUy1TcBSxzqY,2371 15 | pluggy/_version.py,sha256=VmfMGGqdHukn5LQKea4t7zK3oAZQqsuVvKowF6QBwHA,116 16 | pluggy/callers.py,sha256=ftcvH6AX7p9cK58916KxxLtsFEhOr2OR69LMAVqxrFk,6820 17 | pluggy/hooks.py,sha256=M-fex1nOnlGQ20v0id3dka7tszEDtw_tX3aQQHdYFRI,12161 18 | pluggy/manager.py,sha256=opOK1YnMSm4GmlLg7joUFbZVyaN6rub5F3M6QVsLjp8,14517 19 | -------------------------------------------------------------------------------- /.svn/pristine/a6/a607dc50855ca7621d4f5cb9488fa102df31da04.svn-base: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.30.0.a0) 3 | Root-Is-Purelib: true 4 | Tag: py2-none-any 5 | Tag: py3-none-any 6 | 7 | -------------------------------------------------------------------------------- /.svn/pristine/a6/a61fec54cd8fa76a36f8efc1c78e8117f0be2a42.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/a6/a61fec54cd8fa76a36f8efc1c78e8117f0be2a42.svn-base -------------------------------------------------------------------------------- /.svn/pristine/a6/a6bf123a04478d2518a63db9ad03b5b4ec7aedc9.svn-base: -------------------------------------------------------------------------------- 1 | ./setuptools-40.8.0-py3.7.egg 2 | -------------------------------------------------------------------------------- /.svn/pristine/a7/a75c41b33e5d2c63198f04d221a03ffc5dd9d4c6.svn-base: -------------------------------------------------------------------------------- 1 | from allure_commons._hooks import hookimpl # noqa: F401 2 | from allure_commons._core import plugin_manager # noqa: F401 3 | from allure_commons._allure import fixture # noqa: F401 4 | from allure_commons._allure import test # noqa: F401 5 | 6 | 7 | __all__ = [ 8 | 'hookimpl', 9 | 'plugin_manager', 10 | 11 | 'fixture', 12 | 'test' 13 | ] 14 | -------------------------------------------------------------------------------- /.svn/pristine/a7/a780864094bce6870d7d32c548a73d1105b0b9b1.svn-base: -------------------------------------------------------------------------------- 1 | #!E:\PycharmProjects\pytest_requests_demo\venv\Scripts\python.exe 2 | # EASY-INSTALL-ENTRY-SCRIPT: 'setuptools==40.8.0','console_scripts','easy_install' 3 | __requires__ = 'setuptools==40.8.0' 4 | import re 5 | import sys 6 | from pkg_resources import load_entry_point 7 | 8 | if __name__ == '__main__': 9 | sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) 10 | sys.exit( 11 | load_entry_point('setuptools==40.8.0', 'console_scripts', 'easy_install')() 12 | ) 13 | -------------------------------------------------------------------------------- /.svn/pristine/a7/a7e408d2079e97f4edc197ff49e01aabfc2aef07.svn-base: -------------------------------------------------------------------------------- 1 | certifi-2019.3.9.dist-info/DESCRIPTION.rst,sha256=aLNHONztn2ZiBpSTivVFy6EDIWmuNYSsEQwx4NWbvB4,1580 2 | certifi-2019.3.9.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 3 | certifi-2019.3.9.dist-info/LICENSE.txt,sha256=anCkv2sBABbVmmS4rkrY3H9e8W8ftFPMLs13HFo0ETE,1048 4 | certifi-2019.3.9.dist-info/METADATA,sha256=_YlCcnsTkrUqK8ugsaoHpzg5lvdUmy1_FH1Fp0dC5DI,2521 5 | certifi-2019.3.9.dist-info/RECORD,, 6 | certifi-2019.3.9.dist-info/WHEEL,sha256=5wvfB7GvgZAbKBSE9uX9Zbi6LCL-_KgezgHblXhCRnM,113 7 | certifi-2019.3.9.dist-info/metadata.json,sha256=18_iszglhf39DqJF6n2lEvZN_ZKWnQeGbxvv3xPXM34,1047 8 | certifi-2019.3.9.dist-info/top_level.txt,sha256=KMu4vUCfsjLrkPbSNdgdekS-pVJzBAJFO__nI8NF6-U,8 9 | certifi/__init__.py,sha256=-M1moep9D6jZnOAT0qnM1dpoEHMPage7Osv5xLRLyFg,52 10 | certifi/__main__.py,sha256=FiOYt1Fltst7wk9DRa6GCoBr8qBUxlNQu_MKJf04E6s,41 11 | certifi/__pycache__/__init__.cpython-37.pyc,, 12 | certifi/__pycache__/__main__.cpython-37.pyc,, 13 | certifi/__pycache__/core.cpython-37.pyc,, 14 | certifi/cacert.pem,sha256=OXuDPlrPiaJwm5ZEAamspo0ktiNJtyu-OGhOWGqgeic,284518 15 | certifi/core.py,sha256=EuFc2BsToG5O1-qsx4BSjQ1r1-7WRtH87b1WflZOWhI,218 16 | -------------------------------------------------------------------------------- /.svn/pristine/a8/a81bfbc4f347961faf9bf1f7f796405bdc55b6bd.svn-base: -------------------------------------------------------------------------------- 1 | import py 2 | pydir = py.path.local(py.__file__).dirpath() 3 | -------------------------------------------------------------------------------- /.svn/pristine/a9/a9c19f9254a2ef5e0f7df95ab7dc4b35918a9fbd.svn-base: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import 2 | 3 | from . import ssl_match_hostname 4 | 5 | __all__ = ('ssl_match_hostname', ) 6 | -------------------------------------------------------------------------------- /.svn/pristine/aa/aab17fe71e597a3a0543d68c9cb3bd5efdd667f6.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/aa/aab17fe71e597a3a0543d68c9cb3bd5efdd667f6.svn-base -------------------------------------------------------------------------------- /.svn/pristine/ab/ab211004bad21f637851c6ae69a429e4a0a88c0b.svn-base: -------------------------------------------------------------------------------- 1 | {"classifiers": ["Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Text Processing :: Linguistic"], "extensions": {"python.commands": {"wrap_console": {"chardetect": "chardet.cli.chardetect:main"}}, "python.details": {"contacts": [{"email": "dan.blanchard@gmail.com", "name": "Daniel Blanchard", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}, "project_urls": {"Home": "https://github.com/chardet/chardet"}}, "python.exports": {"console_scripts": {"chardetect": "chardet.cli.chardetect:main"}}}, "generator": "bdist_wheel (0.29.0)", "keywords": ["encoding", "i18n", "xml"], "license": "LGPL", "metadata_version": "2.0", "name": "chardet", "summary": "Universal encoding detector for Python 2 and 3", "test_requires": [{"requires": ["hypothesis", "pytest"]}], "version": "3.0.4"} -------------------------------------------------------------------------------- /.svn/pristine/ab/ab32c97a4f5f63c73ce280ac67bb2b57a66c89a0.svn-base: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.32.1) 3 | Root-Is-Purelib: true 4 | Tag: py2-none-any 5 | Tag: py3-none-any 6 | 7 | -------------------------------------------------------------------------------- /.svn/pristine/ac/ac28e9c9246b6ed29d1cf21c461e0959eb810651.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/ac/ac28e9c9246b6ed29d1cf21c461e0959eb810651.svn-base -------------------------------------------------------------------------------- /.svn/pristine/ac/ac77d49a5caa36b855eb79a75ae16377cf336442.svn-base: -------------------------------------------------------------------------------- 1 | Signature: 8a477f597d28d172789f06886806bc55 2 | # This file is a cache directory tag created by pytest. 3 | # For information about cache directory tags, see: 4 | # http://www.bford.info/cachedir/spec.html 5 | -------------------------------------------------------------------------------- /.svn/pristine/ac/acebe978e05f65f8bc812ffc920bd3cfe65a3654.svn-base: -------------------------------------------------------------------------------- 1 | Metadata-Version: 2.0 2 | Name: allure-pytest 3 | Version: 2.6.2 4 | Summary: Allure pytest integration 5 | Home-page: https://github.com/allure-framework/allure-python 6 | Author: QAMetaSoftware, Stanislav Seliverstov 7 | Author-email: sseliverstov@qameta.io 8 | License: Apache-2.0 9 | Keywords: allure reporting pytest 10 | Platform: UNKNOWN 11 | Classifier: Development Status :: 5 - Production/Stable 12 | Classifier: Framework :: Pytest 13 | Classifier: Intended Audience :: Developers 14 | Classifier: License :: OSI Approved :: Apache Software License 15 | Classifier: Topic :: Software Development :: Quality Assurance 16 | Classifier: Topic :: Software Development :: Testing 17 | Requires-Dist: allure-python-commons (==2.6.2) 18 | Requires-Dist: pytest (>=3.4.0) 19 | Requires-Dist: six (>=1.9.0) 20 | 21 | Allure Pytest Plugin 22 | ==================== 23 | .. image:: https://pypip.in/v/allure-pytest/badge.png 24 | :alt: Release Status 25 | :target: https://pypi.python.org/pypi/allure-pytest 26 | .. image:: https://pypip.in/d/allure-pytest/badge.png 27 | :alt: Downloads 28 | :target: https://pypi.python.org/pypi/allure-pytest 29 | 30 | - `Source `_ 31 | 32 | - `Documentation `_ 33 | 34 | - `Gitter `_ 35 | 36 | 37 | Installation and Usage 38 | ====================== 39 | 40 | .. code:: bash 41 | 42 | $ pip install allure-pytest 43 | $ py.test --alluredir=%allure_result_folder% ./tests 44 | $ allure serve %allure_result_folder% 45 | 46 | 47 | -------------------------------------------------------------------------------- /.svn/pristine/ad/ad425bf5119ce57a37e3fa126db0d4dcacb05013.svn-base: -------------------------------------------------------------------------------- 1 | chardet 2 | -------------------------------------------------------------------------------- /.svn/pristine/ad/adc83b19e793491b1c6ea0fd8b46cd9f32e592fc.svn-base: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /.svn/pristine/ae/ae30d7d7e4728b334fcb6b387a6af8ae62e99029.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/ae/ae30d7d7e4728b334fcb6b387a6af8ae62e99029.svn-base -------------------------------------------------------------------------------- /.svn/pristine/ae/aeac8af57b6ff77d4c28645579fec2376eccf09a.svn-base: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import, division, unicode_literals 2 | 3 | from .py import Trie as PyTrie 4 | 5 | Trie = PyTrie 6 | 7 | # pylint:disable=wrong-import-position 8 | try: 9 | from .datrie import Trie as DATrie 10 | except ImportError: 11 | pass 12 | else: 13 | Trie = DATrie 14 | # pylint:enable=wrong-import-position 15 | -------------------------------------------------------------------------------- /.svn/pristine/af/af1b34a8655a6a39832635a34dcbc060412ed6cb.svn-base: -------------------------------------------------------------------------------- 1 | """A package that contains models that represent entities. 2 | """ 3 | -------------------------------------------------------------------------------- /.svn/pristine/b0/b0683d2f03c8550a7a47885f5a88b6a86c7ef8a9.svn-base: -------------------------------------------------------------------------------- 1 | import py 2 | import os, sys 3 | 4 | if sys.platform == "win32" or getattr(os, '_name', '') == 'nt': 5 | try: 6 | import ctypes 7 | except ImportError: 8 | def dokill(pid): 9 | py.process.cmdexec("taskkill /F /PID %d" %(pid,)) 10 | else: 11 | def dokill(pid): 12 | PROCESS_TERMINATE = 1 13 | handle = ctypes.windll.kernel32.OpenProcess( 14 | PROCESS_TERMINATE, False, pid) 15 | ctypes.windll.kernel32.TerminateProcess(handle, -1) 16 | ctypes.windll.kernel32.CloseHandle(handle) 17 | else: 18 | def dokill(pid): 19 | os.kill(pid, 15) 20 | 21 | def kill(pid): 22 | """ kill process by id. """ 23 | dokill(pid) 24 | -------------------------------------------------------------------------------- /.svn/pristine/b3/b39edc30ccb044dc6ee0514b7125edec7f0ec2df.svn-base: -------------------------------------------------------------------------------- 1 | __pycache__/six.cpython-37.pyc,, 2 | six-1.12.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 3 | six-1.12.0.dist-info/LICENSE,sha256=5zL1TaWPPpzwxI6LUSlIk2_Pc2G9WK-mOpo8OSv3lK0,1066 4 | six-1.12.0.dist-info/METADATA,sha256=CRdYkKPKCFJr7-qA8PDpBklGXfXJ3xu4mu5tkLBDL04,1940 5 | six-1.12.0.dist-info/RECORD,, 6 | six-1.12.0.dist-info/WHEEL,sha256=_wJFdOYk7i3xxT8ElOkUJvOdOvfNGbR9g-bf6UQT6sU,110 7 | six-1.12.0.dist-info/top_level.txt,sha256=_iVH_iYEtEXnD8nYGQYpYFUvkUW9sEO1GYbkeKSAais,4 8 | six.py,sha256=h9jch2pS86y4R36pKRS3LOYUCVFNIJMRwjZ4fJDtJ44,32452 9 | -------------------------------------------------------------------------------- /.svn/pristine/b3/b3bb70418c3e17a3a9b7c523d22b8878ce4979f5.svn-base: -------------------------------------------------------------------------------- 1 | """CacheControl import Interface. 2 | 3 | Make it easy to import from cachecontrol without long namespaces. 4 | """ 5 | __author__ = "Eric Larson" 6 | __email__ = "eric@ionrock.org" 7 | __version__ = "0.12.5" 8 | 9 | from .wrapper import CacheControl 10 | from .adapter import CacheControlAdapter 11 | from .controller import CacheController 12 | -------------------------------------------------------------------------------- /.svn/pristine/b3/b3be71338900ca4acc2e3f2b0dee2e3f5a3623fc.svn-base: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | import allure 3 | import pytest 4 | import requests 5 | ''' 6 | @author: lingshu 7 | @file: test_postman_api.py 8 | @time: 2019/7/8 20:54 9 | @desc: 测试postman API 10 | ''' 11 | 12 | @allure.feature('postman') 13 | @allure.story('postman-api') 14 | @pytest.mark.parametrize('timestamp,target,expected',[ 15 | ('2016-10-10','2018-12-13',True), 16 | ('2016-10','2018-12',True), 17 | ('2016-10-10','2018-13-13',False), 18 | ('2016-10-10','2015-12-13',False), 19 | ('2016-10-10','2019-12-33',False), 20 | ('2019-12-33','2019-6-30',False), 21 | ('','2019-6-30',False), 22 | ('6-30','7-30',False), 23 | ('2017','2018',False), 24 | ('','',False), 25 | ('abc','2019-6-30',False) 26 | ('20190501','2019-6-30',False) 27 | ]) 28 | def test_timestamp(timestamp,target,expected,env_config): 29 | """ 30 | 用例描述:测试不同的timestamp和target 31 | """ 32 | #从yml配置文件获取url 33 | url = env_config['host']['url'] 34 | payload = {'timestamp':timestamp,'target':target} 35 | r = requests.get(url,params=payload) 36 | print(r.url) 37 | result = r.json() 38 | assert result['before']==expected 39 | 40 | -------------------------------------------------------------------------------- /.svn/pristine/b4/b4535b05b91e72e10c28f59bd042dc174ea71759.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/b4/b4535b05b91e72e10c28f59bd042dc174ea71759.svn-base -------------------------------------------------------------------------------- /.svn/pristine/b6/b605810d68ee851511033386a0a6751d1fc73c7d.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/b6/b605810d68ee851511033386a0a6751d1fc73c7d.svn-base -------------------------------------------------------------------------------- /.svn/pristine/b6/b695b1c7a3fef4baaadb5bab4323ff7c5b2c9611.svn-base: -------------------------------------------------------------------------------- 1 | {"classifiers": ["Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Topic :: Software Development :: Quality Assurance", "Topic :: Software Development :: Testing"], "extensions": {"python.details": {"contacts": [{"email": "sseliverstov@qameta.io", "name": "QAMetaSoftware, Stanislav Seliverstov", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}, "project_urls": {"Home": "https://github.com/allure-framework/allure-python"}}}, "extras": [], "generator": "bdist_wheel (0.29.0)", "keywords": ["allure", "reporting", "report-engine"], "license": "Apache-2.0", "metadata_version": "2.0", "name": "allure-python-commons", "run_requires": [{"requires": ["attrs (>=16.0.0)", "pluggy (>=0.4.0)", "six (>=1.9.0)"]}, {"environment": "python_version < \"3.4\"", "requires": ["enum34"]}], "summary": "Common module for integrate allure with python-based frameworks", "version": "2.6.2"} -------------------------------------------------------------------------------- /.svn/pristine/b7/b7ecbf20876821ca930ec5a9390836ab0b644dd1.svn-base: -------------------------------------------------------------------------------- 1 | version = (0, 5, 6) 2 | -------------------------------------------------------------------------------- /.svn/pristine/b9/b902de3be52c547af99acb9a2d5c0b87f4091750.svn-base: -------------------------------------------------------------------------------- 1 | from allure_commons._allure import title 2 | from allure_commons._allure import description, description_html 3 | from allure_commons._allure import label 4 | from allure_commons._allure import severity 5 | from allure_commons._allure import tag 6 | from allure_commons._allure import epic, feature, story 7 | from allure_commons._allure import link, issue, testcase 8 | from allure_commons._allure import Dynamic as dynamic 9 | from allure_commons._allure import step 10 | from allure_commons._allure import attach 11 | from allure_commons.types import Severity as severity_level 12 | from allure_commons.types import AttachmentType as attachment_type 13 | 14 | 15 | __all__ = [ 16 | 'title', 17 | 'description', 18 | 'description_html', 19 | 'label', 20 | 'severity', 21 | 'tag', 22 | 'epic', 23 | 'feature', 24 | 'story', 25 | 26 | 'link', 27 | 'issue', 28 | 'testcase', 29 | 30 | 'step', 31 | 32 | 'dynamic', 33 | 34 | 'severity_level', 35 | 36 | 'attach', 37 | 'attachment_type' 38 | ] 39 | -------------------------------------------------------------------------------- /.svn/pristine/ba/ba326b7c88cb86b492da22e4d4668ee6e36bfd9e.svn-base: -------------------------------------------------------------------------------- 1 | import collections 2 | from ..packages import six 3 | from ..packages.six.moves import queue 4 | 5 | if six.PY2: 6 | # Queue is imported for side effects on MS Windows. See issue #229. 7 | import Queue as _unused_module_Queue # noqa: F401 8 | 9 | 10 | class LifoQueue(queue.Queue): 11 | def _init(self, _): 12 | self.queue = collections.deque() 13 | 14 | def _qsize(self, len=len): 15 | return len(self.queue) 16 | 17 | def _put(self, item): 18 | self.queue.append(item) 19 | 20 | def _get(self): 21 | return self.queue.pop() 22 | -------------------------------------------------------------------------------- /.svn/pristine/bb/bbe6288c328218567ae83566c7e42af75054041c.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/bb/bbe6288c328218567ae83566c7e42af75054041c.svn-base -------------------------------------------------------------------------------- /.svn/pristine/bc/bc2518f812eef5713556d847b933230c00bb22d4.svn-base: -------------------------------------------------------------------------------- 1 | ######################## BEGIN LICENSE BLOCK ######################## 2 | # The Original Code is mozilla.org code. 3 | # 4 | # The Initial Developer of the Original Code is 5 | # Netscape Communications Corporation. 6 | # Portions created by the Initial Developer are Copyright (C) 1998 7 | # the Initial Developer. All Rights Reserved. 8 | # 9 | # Contributor(s): 10 | # Mark Pilgrim - port to Python 11 | # 12 | # This library is free software; you can redistribute it and/or 13 | # modify it under the terms of the GNU Lesser General Public 14 | # License as published by the Free Software Foundation; either 15 | # version 2.1 of the License, or (at your option) any later version. 16 | # 17 | # This library is distributed in the hope that it will be useful, 18 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 20 | # Lesser General Public License for more details. 21 | # 22 | # You should have received a copy of the GNU Lesser General Public 23 | # License along with this library; if not, write to the Free Software 24 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 25 | # 02110-1301 USA 26 | ######################### END LICENSE BLOCK ######################### 27 | 28 | from .mbcharsetprober import MultiByteCharSetProber 29 | from .codingstatemachine import CodingStateMachine 30 | from .chardistribution import GB2312DistributionAnalysis 31 | from .mbcssm import GB2312_SM_MODEL 32 | 33 | class GB2312Prober(MultiByteCharSetProber): 34 | def __init__(self): 35 | super(GB2312Prober, self).__init__() 36 | self.coding_sm = CodingStateMachine(GB2312_SM_MODEL) 37 | self.distribution_analyzer = GB2312DistributionAnalysis() 38 | self.reset() 39 | 40 | @property 41 | def charset_name(self): 42 | return "GB2312" 43 | 44 | @property 45 | def language(self): 46 | return "Chinese" 47 | -------------------------------------------------------------------------------- /.svn/pristine/bc/bc5ea804a025dffde14fbf3746e34487196073d7.svn-base: -------------------------------------------------------------------------------- 1 | certifi 2 | -------------------------------------------------------------------------------- /.svn/pristine/be/be93036f1cf971607f07b63be21d98927b772003.svn-base: -------------------------------------------------------------------------------- 1 | # This file is dual licensed under the terms of the Apache License, Version 2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository 3 | # for complete details. 4 | from __future__ import absolute_import, division, print_function 5 | 6 | 7 | class Infinity(object): 8 | def __repr__(self): 9 | return "Infinity" 10 | 11 | def __hash__(self): 12 | return hash(repr(self)) 13 | 14 | def __lt__(self, other): 15 | return False 16 | 17 | def __le__(self, other): 18 | return False 19 | 20 | def __eq__(self, other): 21 | return isinstance(other, self.__class__) 22 | 23 | def __ne__(self, other): 24 | return not isinstance(other, self.__class__) 25 | 26 | def __gt__(self, other): 27 | return True 28 | 29 | def __ge__(self, other): 30 | return True 31 | 32 | def __neg__(self): 33 | return NegativeInfinity 34 | 35 | 36 | Infinity = Infinity() 37 | 38 | 39 | class NegativeInfinity(object): 40 | def __repr__(self): 41 | return "-Infinity" 42 | 43 | def __hash__(self): 44 | return hash(repr(self)) 45 | 46 | def __lt__(self, other): 47 | return True 48 | 49 | def __le__(self, other): 50 | return True 51 | 52 | def __eq__(self, other): 53 | return isinstance(other, self.__class__) 54 | 55 | def __ne__(self, other): 56 | return not isinstance(other, self.__class__) 57 | 58 | def __gt__(self, other): 59 | return False 60 | 61 | def __ge__(self, other): 62 | return False 63 | 64 | def __neg__(self): 65 | return Infinity 66 | 67 | 68 | NegativeInfinity = NegativeInfinity() 69 | -------------------------------------------------------------------------------- /.svn/pristine/be/beb270857acad664e77d52a299de41b979e0c4e6.svn-base: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | # This code exists for backwards compatibility reasons. 4 | # I don't like it either. Just look the other way. :) 5 | 6 | for package in ('urllib3', 'idna', 'chardet'): 7 | locals()[package] = __import__(package) 8 | # This traversal is apparently necessary such that the identities are 9 | # preserved (requests.packages.urllib3.* is urllib3.*) 10 | for mod in list(sys.modules): 11 | if mod == package or mod.startswith(package + '.'): 12 | sys.modules['requests.packages.' + mod] = sys.modules[mod] 13 | 14 | # Kinda cool, though, right? 15 | -------------------------------------------------------------------------------- /.svn/pristine/c2/c242d71b1f88cde9effab8ebf1fa4f216bd8d2fa.svn-base: -------------------------------------------------------------------------------- 1 | #!E:\PycharmProjects\pytest_requests_demo\venv\Scripts\python.exe 2 | # EASY-INSTALL-ENTRY-SCRIPT: 'setuptools==40.8.0','console_scripts','easy_install-3.7' 3 | __requires__ = 'setuptools==40.8.0' 4 | import re 5 | import sys 6 | from pkg_resources import load_entry_point 7 | 8 | if __name__ == '__main__': 9 | sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) 10 | sys.exit( 11 | load_entry_point('setuptools==40.8.0', 'console_scripts', 'easy_install-3.7')() 12 | ) 13 | -------------------------------------------------------------------------------- /.svn/pristine/c6/c686e858185c386c56ee939d7acde1887cca1ace.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/c6/c686e858185c386c56ee939d7acde1887cca1ace.svn-base -------------------------------------------------------------------------------- /.svn/pristine/c7/c79c1de98664360e3b2b5a235e3a55f76cea6295.svn-base: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import, division, print_function 2 | 3 | 4 | __all__ = ["set_run_validators", "get_run_validators"] 5 | 6 | _run_validators = True 7 | 8 | 9 | def set_run_validators(run): 10 | """ 11 | Set whether or not validators are run. By default, they are run. 12 | """ 13 | if not isinstance(run, bool): 14 | raise TypeError("'run' must be bool.") 15 | global _run_validators 16 | _run_validators = run 17 | 18 | 19 | def get_run_validators(): 20 | """ 21 | Return whether or not validators are run. 22 | """ 23 | return _run_validators 24 | -------------------------------------------------------------------------------- /.svn/pristine/c8/c86267cedb844d3ab60a45c960761fc5b789eb0d.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/c8/c86267cedb844d3ab60a45c960761fc5b789eb0d.svn-base -------------------------------------------------------------------------------- /.svn/pristine/c9/c98bba03ebc076049b09e2a3168633079a3ea7b1.svn-base: -------------------------------------------------------------------------------- 1 | """Subpackage containing all of pip's command line interface related code 2 | """ 3 | 4 | # This file intentionally does not import submodules 5 | -------------------------------------------------------------------------------- /.svn/pristine/c9/c9cab0f27c50fdd51cade562b08368b5c6b61cb1.svn-base: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import, division, unicode_literals 2 | 3 | from genshi.core import QName, Attrs 4 | from genshi.core import START, END, TEXT, COMMENT, DOCTYPE 5 | 6 | 7 | def to_genshi(walker): 8 | """Convert a tree to a genshi tree 9 | 10 | :arg walker: the treewalker to use to walk the tree to convert it 11 | 12 | :returns: generator of genshi nodes 13 | 14 | """ 15 | text = [] 16 | for token in walker: 17 | type = token["type"] 18 | if type in ("Characters", "SpaceCharacters"): 19 | text.append(token["data"]) 20 | elif text: 21 | yield TEXT, "".join(text), (None, -1, -1) 22 | text = [] 23 | 24 | if type in ("StartTag", "EmptyTag"): 25 | if token["namespace"]: 26 | name = "{%s}%s" % (token["namespace"], token["name"]) 27 | else: 28 | name = token["name"] 29 | attrs = Attrs([(QName("{%s}%s" % attr if attr[0] is not None else attr[1]), value) 30 | for attr, value in token["data"].items()]) 31 | yield (START, (QName(name), attrs), (None, -1, -1)) 32 | if type == "EmptyTag": 33 | type = "EndTag" 34 | 35 | if type == "EndTag": 36 | if token["namespace"]: 37 | name = "{%s}%s" % (token["namespace"], token["name"]) 38 | else: 39 | name = token["name"] 40 | 41 | yield END, QName(name), (None, -1, -1) 42 | 43 | elif type == "Comment": 44 | yield COMMENT, token["data"], (None, -1, -1) 45 | 46 | elif type == "Doctype": 47 | yield DOCTYPE, (token["name"], token["publicId"], 48 | token["systemId"]), (None, -1, -1) 49 | 50 | else: 51 | pass # FIXME: What to do? 52 | 53 | if text: 54 | yield TEXT, "".join(text), (None, -1, -1) 55 | -------------------------------------------------------------------------------- /.svn/pristine/c9/c9fa078ee96f61edcd96f45b068b7510af70e6a2.svn-base: -------------------------------------------------------------------------------- 1 | from .core import where 2 | 3 | __version__ = "2018.11.29" 4 | -------------------------------------------------------------------------------- /.svn/pristine/cb/cb1dc6aa93b784a51c666e6929beb8642cce0f82.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/cb/cb1dc6aa93b784a51c666e6929beb8642cce0f82.svn-base -------------------------------------------------------------------------------- /.svn/pristine/cb/cb202dd75c7a1d132f30908e8c6bbb89c788c732.svn-base: -------------------------------------------------------------------------------- 1 | more_itertools-7.0.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 2 | more_itertools-7.0.0.dist-info/LICENSE,sha256=CfHIyelBrz5YTVlkHqm4fYPAyw_QB-te85Gn4mQ8GkY,1053 3 | more_itertools-7.0.0.dist-info/METADATA,sha256=X34M7LARPT-DuhDwe_g0m743QuWT0q0fgyf86tCWopQ,36670 4 | more_itertools-7.0.0.dist-info/RECORD,, 5 | more_itertools-7.0.0.dist-info/WHEEL,sha256=_NOXIqFgOaYmlm9RJLPQZ13BJuEIrp5jx5ptRD5uh3Y,92 6 | more_itertools-7.0.0.dist-info/top_level.txt,sha256=fAuqRXu9LPhxdB9ujJowcFOu1rZ8wzSpOW9_jlKis6M,15 7 | more_itertools/__init__.py,sha256=S-n6S9N3UplqU3p-7AV-1Znl6yJwuXsJtqrlEq9tOUw,87 8 | more_itertools/__pycache__/__init__.cpython-37.pyc,, 9 | more_itertools/__pycache__/more.cpython-37.pyc,, 10 | more_itertools/__pycache__/recipes.cpython-37.pyc,, 11 | more_itertools/more.py,sha256=KN_fGNMXw8TpP-zGUt2_hWbE4ar6iNOIlJdcCBnFJNA,76071 12 | more_itertools/recipes.py,sha256=4X8EBZLOEyKKVlacSp2jAg56-GEo1jhCU2eH4WlbEC4,15235 13 | more_itertools/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 14 | more_itertools/tests/__pycache__/__init__.cpython-37.pyc,, 15 | more_itertools/tests/__pycache__/test_more.cpython-37.pyc,, 16 | more_itertools/tests/__pycache__/test_recipes.cpython-37.pyc,, 17 | more_itertools/tests/test_more.py,sha256=G6m1no6AiU2skWSxNDa_rnp_ZK-QUMKO5cXKHSRmMrQ,83464 18 | more_itertools/tests/test_recipes.py,sha256=UxBADwAu1U0FlNXtU6ybKkHhh1Lt2opwsTFNnSbJ7uU,19478 19 | -------------------------------------------------------------------------------- /.svn/pristine/ce/ce796ac1580acab7870f3d4073fb096e154ecc1d.svn-base: -------------------------------------------------------------------------------- 1 | home = D:\python3.7 2 | include-system-site-packages = false 3 | version = 3.7.1 4 | -------------------------------------------------------------------------------- /.svn/pristine/ce/cec1bccf31b82debc22ec1170a6d9f71c1630807.svn-base: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # 3 | # Copyright (C) 2012-2017 Vinay Sajip. 4 | # Licensed to the Python Software Foundation under a contributor agreement. 5 | # See LICENSE.txt and CONTRIBUTORS.txt. 6 | # 7 | import logging 8 | 9 | __version__ = '0.2.8' 10 | 11 | class DistlibException(Exception): 12 | pass 13 | 14 | try: 15 | from logging import NullHandler 16 | except ImportError: # pragma: no cover 17 | class NullHandler(logging.Handler): 18 | def handle(self, record): pass 19 | def emit(self, record): pass 20 | def createLock(self): self.lock = None 21 | 22 | logger = logging.getLogger(__name__) 23 | logger.addHandler(NullHandler()) 24 | -------------------------------------------------------------------------------- /.svn/pristine/cf/cf120440e59032da490aa8fdc118b6f764fe495d.svn-base: -------------------------------------------------------------------------------- 1 | idna 2 | -------------------------------------------------------------------------------- /.svn/pristine/cf/cf3eaf29116a37a7d9ba773e776104c067c8e5fc.svn-base: -------------------------------------------------------------------------------- 1 | 2 | Permission is hereby granted, free of charge, to any person obtaining a copy 3 | of this software and associated documentation files (the "Software"), to deal 4 | in the Software without restriction, including without limitation the rights 5 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 6 | copies of the Software, and to permit persons to whom the Software is 7 | furnished to do so, subject to the following conditions: 8 | 9 | The above copyright notice and this permission notice shall be included in all 10 | copies or substantial portions of the Software. 11 | 12 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 13 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 14 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 15 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 16 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 17 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 18 | SOFTWARE. 19 | 20 | -------------------------------------------------------------------------------- /.svn/pristine/cf/cfa698ef88230fbe6862cb300268a3a647ecc71d.svn-base: -------------------------------------------------------------------------------- 1 | six 2 | -------------------------------------------------------------------------------- /.svn/pristine/d1/d1a6ae67478d28a17d9ac7d89dfbf68929b8af73.svn-base: -------------------------------------------------------------------------------- 1 | """Utilities for defining models 2 | """ 3 | 4 | import operator 5 | 6 | 7 | class KeyBasedCompareMixin(object): 8 | """Provides comparision capabilities that is based on a key 9 | """ 10 | 11 | def __init__(self, key, defining_class): 12 | self._compare_key = key 13 | self._defining_class = defining_class 14 | 15 | def __hash__(self): 16 | return hash(self._compare_key) 17 | 18 | def __lt__(self, other): 19 | return self._compare(other, operator.__lt__) 20 | 21 | def __le__(self, other): 22 | return self._compare(other, operator.__le__) 23 | 24 | def __gt__(self, other): 25 | return self._compare(other, operator.__gt__) 26 | 27 | def __ge__(self, other): 28 | return self._compare(other, operator.__ge__) 29 | 30 | def __eq__(self, other): 31 | return self._compare(other, operator.__eq__) 32 | 33 | def __ne__(self, other): 34 | return self._compare(other, operator.__ne__) 35 | 36 | def _compare(self, other, method): 37 | if not isinstance(other, self._defining_class): 38 | return NotImplemented 39 | 40 | return method(self._compare_key, other._compare_key) 41 | -------------------------------------------------------------------------------- /.svn/pristine/d3/d36537092e34b0229af222a60f61f7588aad2b99.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/d3/d36537092e34b0229af222a60f61f7588aad2b99.svn-base -------------------------------------------------------------------------------- /.svn/pristine/d3/d374dbd751e5cd1893d2f54d19303b7521aea3df.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/d3/d374dbd751e5cd1893d2f54d19303b7521aea3df.svn-base -------------------------------------------------------------------------------- /.svn/pristine/d3/d38d04549b67abaf06838708ff3340644e4dd0bc.svn-base: -------------------------------------------------------------------------------- 1 | """ high-level sub-process handling """ 2 | -------------------------------------------------------------------------------- /.svn/pristine/d3/d3bc982d9f63b57b38927d7051049ef526753510.svn-base: -------------------------------------------------------------------------------- 1 | import os 2 | import errno 3 | import sys 4 | 5 | from pip._vendor import six 6 | 7 | 8 | def _makedirs_31(path, exist_ok=False): 9 | try: 10 | os.makedirs(path) 11 | except OSError as exc: 12 | if not exist_ok or exc.errno != errno.EEXIST: 13 | raise 14 | 15 | 16 | # rely on compatibility behavior until mode considerations 17 | # and exists_ok considerations are disentangled. 18 | # See https://github.com/pypa/setuptools/pull/1083#issuecomment-315168663 19 | needs_makedirs = ( 20 | six.PY2 or 21 | (3, 4) <= sys.version_info < (3, 4, 1) 22 | ) 23 | makedirs = _makedirs_31 if needs_makedirs else os.makedirs 24 | -------------------------------------------------------------------------------- /.svn/pristine/d4/d4e3f15593ce4e331a851678aad0971e26cfc523.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/d4/d4e3f15593ce4e331a851678aad0971e26cfc523.svn-base -------------------------------------------------------------------------------- /.svn/pristine/d7/d76b646e4bec40aabd3cbad84b789ec9e9f18ca0.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/d7/d76b646e4bec40aabd3cbad84b789ec9e9f18ca0.svn-base -------------------------------------------------------------------------------- /.svn/pristine/d7/d78d9bd918fb65073ea264aaa15ee2af1af2da8e.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/d7/d78d9bd918fb65073ea264aaa15ee2af1af2da8e.svn-base -------------------------------------------------------------------------------- /.svn/pristine/d7/d7a03141d5d6b1e88b6b59ef08b6681df212c599.svn-base: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /.svn/pristine/d7/d7a31c0034699e9a95170489c17d4739c146eb98.svn-base: -------------------------------------------------------------------------------- 1 | from certifi import where 2 | print(where()) 3 | -------------------------------------------------------------------------------- /.svn/pristine/da/da1fd851fb534824f984a34e95b6a95c6198240e.svn-base: -------------------------------------------------------------------------------- 1 | colorama-0.4.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 2 | colorama-0.4.1.dist-info/LICENSE.txt,sha256=ysNcAmhuXQSlpxQL-zs25zrtSWZW6JEQLkKIhteTAxg,1491 3 | colorama-0.4.1.dist-info/METADATA,sha256=qIw0-aY6m-JmPaXDBchI1GdlFM1soYaXgXGYLxwFWH8,13164 4 | colorama-0.4.1.dist-info/RECORD,, 5 | colorama-0.4.1.dist-info/WHEEL,sha256=8T8fxefr_r-A79qbOJ9d_AaEgkpCGmEPHc-gpCq5BRg,110 6 | colorama-0.4.1.dist-info/top_level.txt,sha256=_Kx6-Cni2BT1PEATPhrSRxo0d7kSgfBbHf5o7IF1ABw,9 7 | colorama/__init__.py,sha256=lJdY6COz9uM_pXwuk9oLr0fp8H8q2RrUqN16GKabvq4,239 8 | colorama/__pycache__/__init__.cpython-37.pyc,, 9 | colorama/__pycache__/ansi.cpython-37.pyc,, 10 | colorama/__pycache__/ansitowin32.cpython-37.pyc,, 11 | colorama/__pycache__/initialise.cpython-37.pyc,, 12 | colorama/__pycache__/win32.cpython-37.pyc,, 13 | colorama/__pycache__/winterm.cpython-37.pyc,, 14 | colorama/ansi.py,sha256=Fi0un-QLqRm-v7o_nKiOqyC8PapBJK7DLV_q9LKtTO0,2524 15 | colorama/ansitowin32.py,sha256=u8QaqdqS_xYSfNkPM1eRJLHz6JMWPodaJaP0mxgHCDc,10462 16 | colorama/initialise.py,sha256=PprovDNxMTrvoNHFcL2NZjpH2XzDc8BLxLxiErfUl4k,1915 17 | colorama/win32.py,sha256=bJ8Il9jwaBN5BJ8bmN6FoYZ1QYuMKv2j8fGrXh7TJjw,5404 18 | colorama/winterm.py,sha256=2y_2b7Zsv34feAsP67mLOVc-Bgq51mdYGo571VprlrM,6438 19 | -------------------------------------------------------------------------------- /.svn/pristine/da/da39a3ee5e6b4b0d3255bfef95601890afd80709.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/da/da39a3ee5e6b4b0d3255bfef95601890afd80709.svn-base -------------------------------------------------------------------------------- /.svn/pristine/da/da5f589723af2d8ca25ee618e53ba231ea95af95.svn-base: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.32.3) 3 | Root-Is-Purelib: true 4 | Tag: py2-none-any 5 | Tag: py3-none-any 6 | 7 | -------------------------------------------------------------------------------- /.svn/pristine/db/db5ad4047ef200560265ce4c3d62a77ee8566b3a.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/db/db5ad4047ef200560265ce4c3d62a77ee8566b3a.svn-base -------------------------------------------------------------------------------- /.svn/pristine/dc/dc1ad3197e254a2fd0458b53f7cfb09d40fc85c7.svn-base: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import 2 | # For backwards compatibility, provide imports that used to be here. 3 | from .connection import is_connection_dropped 4 | from .request import make_headers 5 | from .response import is_fp_closed 6 | from .ssl_ import ( 7 | SSLContext, 8 | HAS_SNI, 9 | IS_PYOPENSSL, 10 | IS_SECURETRANSPORT, 11 | assert_fingerprint, 12 | resolve_cert_reqs, 13 | resolve_ssl_version, 14 | ssl_wrap_socket, 15 | ) 16 | from .timeout import ( 17 | current_time, 18 | Timeout, 19 | ) 20 | 21 | from .retry import Retry 22 | from .url import ( 23 | get_host, 24 | parse_url, 25 | split_first, 26 | Url, 27 | ) 28 | from .wait import ( 29 | wait_for_read, 30 | wait_for_write 31 | ) 32 | 33 | __all__ = ( 34 | 'HAS_SNI', 35 | 'IS_PYOPENSSL', 36 | 'IS_SECURETRANSPORT', 37 | 'SSLContext', 38 | 'Retry', 39 | 'Timeout', 40 | 'Url', 41 | 'assert_fingerprint', 42 | 'current_time', 43 | 'is_connection_dropped', 44 | 'is_fp_closed', 45 | 'get_host', 46 | 'parse_url', 47 | 'make_headers', 48 | 'resolve_cert_reqs', 49 | 'resolve_ssl_version', 50 | 'split_first', 51 | 'ssl_wrap_socket', 52 | 'wait_for_read', 53 | 'wait_for_write' 54 | ) 55 | -------------------------------------------------------------------------------- /.svn/pristine/dc/dc62e9edf878704c2f62de315aeb3831d4f192b2.svn-base: -------------------------------------------------------------------------------- 1 | ## 技术栈: 2 | - python 、pytest、Requests 3 | - Allure 4 | - Jenkins 5 | 6 | ## 项目目录介绍 7 | ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190709112746811.png) 8 | ### config 9 | 这个包下放的配置文件,如环境、url地址等 10 | ### test_case 11 | 这个包放的是测试用例文件,本次接口测试用例为:test_postman_api.py 12 | 另:conftest.py是pytest的一个pytest的配置文件,单独管理一些预置的操作场景 13 | ### testdata 14 | 把测试数据放到excel里,实现脚本和数据分离。但是本次的测试数据为时间和Boolean格式,读出来还有问题,由于调试时间有限,这次直接把测试数据写到了测试用例里面 15 | ### utils 16 | 工具类包,如读取excel文件 17 | ### test_all_run.py 18 | 全局运行文件,实现运行所有测试用例 19 | 20 | ## Jenkins配置 21 | - Jenkins添加Allure插件 22 | - 新建一个项目,从svn拉取测试代码 23 | - 构建命令 24 | 25 | ``` 26 | python test_all_run.py 27 | pytest -s -q --alluredir allure-results 28 | ``` 29 | 30 | - 如下图: 31 | -![在这里插入图片描述](https://img-blog.csdnimg.cn/2019070911370980.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dhbGVuMjAxNg==,size_16,color_FFFFFF,t_70) 32 | 33 | ### Allure测试报告 34 | 1、 35 | ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190709113809847.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dhbGVuMjAxNg==,size_16,color_FFFFFF,t_70) 36 | 2、 37 | ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190709113839573.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dhbGVuMjAxNg==,size_16,color_FFFFFF,t_70) -------------------------------------------------------------------------------- /.svn/pristine/dc/dc95d83cdad39dbe4873a96a3924b2043a688cce.svn-base: -------------------------------------------------------------------------------- 1 | import sys 2 | if __name__ == '__main__': 3 | import pytest 4 | sys.exit(pytest.main()) 5 | else: 6 | import sys, pytest 7 | sys.modules['py.test'] = pytest 8 | 9 | # for more API entry points see the 'tests' definition 10 | # in __init__.py 11 | -------------------------------------------------------------------------------- /.svn/pristine/dd/dd2063be41376a2d2333cac6915c57eeb4b166ce.svn-base: -------------------------------------------------------------------------------- 1 | from pip._vendor.packaging.version import parse as parse_version 2 | 3 | from pip._internal.utils.models import KeyBasedCompareMixin 4 | from pip._internal.utils.typing import MYPY_CHECK_RUNNING 5 | 6 | if MYPY_CHECK_RUNNING: 7 | from pip._vendor.packaging.version import _BaseVersion # noqa: F401 8 | from pip._internal.models.link import Link # noqa: F401 9 | from typing import Any, Union # noqa: F401 10 | 11 | 12 | class InstallationCandidate(KeyBasedCompareMixin): 13 | """Represents a potential "candidate" for installation. 14 | """ 15 | 16 | def __init__(self, project, version, location): 17 | # type: (Any, str, Link) -> None 18 | self.project = project 19 | self.version = parse_version(version) # type: _BaseVersion 20 | self.location = location 21 | 22 | super(InstallationCandidate, self).__init__( 23 | key=(self.project, self.version, self.location), 24 | defining_class=InstallationCandidate 25 | ) 26 | 27 | def __repr__(self): 28 | # type: () -> str 29 | return "".format( 30 | self.project, self.version, self.location, 31 | ) 32 | -------------------------------------------------------------------------------- /.svn/pristine/dd/dd9a9bdb5416a2d26e4992a9f0e0818fd0ee372f.svn-base: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import, division, unicode_literals 2 | 3 | from collections import Mapping 4 | 5 | 6 | class Trie(Mapping): 7 | """Abstract base class for tries""" 8 | 9 | def keys(self, prefix=None): 10 | # pylint:disable=arguments-differ 11 | keys = super(Trie, self).keys() 12 | 13 | if prefix is None: 14 | return set(keys) 15 | 16 | return {x for x in keys if x.startswith(prefix)} 17 | 18 | def has_keys_with_prefix(self, prefix): 19 | for key in self.keys(): 20 | if key.startswith(prefix): 21 | return True 22 | 23 | return False 24 | 25 | def longest_prefix(self, prefix): 26 | if prefix in self: 27 | return prefix 28 | 29 | for i in range(1, len(prefix) + 1): 30 | if prefix[:-i] in self: 31 | return prefix[:-i] 32 | 33 | raise KeyError(prefix) 34 | 35 | def longest_prefix_item(self, prefix): 36 | lprefix = self.longest_prefix(prefix) 37 | return (lprefix, self[lprefix]) 38 | -------------------------------------------------------------------------------- /.svn/pristine/de/dee07cd1d9fbf69bcb22e01717b65ff2db116cbb.svn-base: -------------------------------------------------------------------------------- 1 | colorama 2 | -------------------------------------------------------------------------------- /.svn/pristine/df/dfc94ba32de2c61e02392da651d2b4a41be3fe25.svn-base: -------------------------------------------------------------------------------- 1 | # Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file. 2 | from .initialise import init, deinit, reinit, colorama_text 3 | from .ansi import Fore, Back, Style, Cursor 4 | from .ansitowin32 import AnsiToWin32 5 | 6 | __version__ = '0.4.1' 7 | -------------------------------------------------------------------------------- /.svn/pristine/e0/e040a84c308a19e533b507205f2799527f3c5afc.svn-base: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import, division, unicode_literals 2 | 3 | from datrie import Trie as DATrie 4 | from pip._vendor.six import text_type 5 | 6 | from ._base import Trie as ABCTrie 7 | 8 | 9 | class Trie(ABCTrie): 10 | def __init__(self, data): 11 | chars = set() 12 | for key in data.keys(): 13 | if not isinstance(key, text_type): 14 | raise TypeError("All keys must be strings") 15 | for char in key: 16 | chars.add(char) 17 | 18 | self._data = DATrie("".join(chars)) 19 | for key, value in data.items(): 20 | self._data[key] = value 21 | 22 | def __contains__(self, key): 23 | return key in self._data 24 | 25 | def __len__(self): 26 | return len(self._data) 27 | 28 | def __iter__(self): 29 | raise NotImplementedError() 30 | 31 | def __getitem__(self, key): 32 | return self._data[key] 33 | 34 | def keys(self, prefix=None): 35 | return self._data.keys(prefix) 36 | 37 | def has_keys_with_prefix(self, prefix): 38 | return self._data.has_keys_with_prefix(prefix) 39 | 40 | def longest_prefix(self, prefix): 41 | return self._data.longest_prefix(prefix) 42 | 43 | def longest_prefix_item(self, prefix): 44 | return self._data.longest_prefix_item(prefix) 45 | -------------------------------------------------------------------------------- /.svn/pristine/e2/e267989b43eb9faa4f07782d95fa9c7b95dba4e3.svn-base: -------------------------------------------------------------------------------- 1 | idna-2.8.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 2 | idna-2.8.dist-info/LICENSE.rst,sha256=DUvHq9SNz7FOJCVO5AQGZzf_AWcUTiIpFKIRO4eUaD4,3947 3 | idna-2.8.dist-info/METADATA,sha256=X4QsM_BLMPhl4gC8SEnXjvl5-gj7hvwAl7UCyR418so,8862 4 | idna-2.8.dist-info/RECORD,, 5 | idna-2.8.dist-info/WHEEL,sha256=CihQvCnsGZQBGAHLEUMf0IdA4fRduS_NBUTMgCTtvPM,110 6 | idna-2.8.dist-info/top_level.txt,sha256=jSag9sEDqvSPftxOQy-ABfGV_RSy7oFh4zZJpODV8k0,5 7 | idna/__init__.py,sha256=9Nt7xpyet3DmOrPUGooDdAwmHZZu1qUAy2EaJ93kGiQ,58 8 | idna/__pycache__/__init__.cpython-37.pyc,, 9 | idna/__pycache__/codec.cpython-37.pyc,, 10 | idna/__pycache__/compat.cpython-37.pyc,, 11 | idna/__pycache__/core.cpython-37.pyc,, 12 | idna/__pycache__/idnadata.cpython-37.pyc,, 13 | idna/__pycache__/intranges.cpython-37.pyc,, 14 | idna/__pycache__/package_data.cpython-37.pyc,, 15 | idna/__pycache__/uts46data.cpython-37.pyc,, 16 | idna/codec.py,sha256=lvYb7yu7PhAqFaAIAdWcwgaWI2UmgseUua-1c0AsG0A,3299 17 | idna/compat.py,sha256=R-h29D-6mrnJzbXxymrWUW7iZUvy-26TQwZ0ij57i4U,232 18 | idna/core.py,sha256=JDCZZ_PLESqIgEbU8mPyoEufWwoOiIqygA17-QZIe3s,11733 19 | idna/idnadata.py,sha256=HXaPFw6_YAJ0qppACPu0YLAULtRs3QovRM_CCZHGdY0,40899 20 | idna/intranges.py,sha256=TY1lpxZIQWEP6tNqjZkFA5hgoMWOj1OBmnUG8ihT87E,1749 21 | idna/package_data.py,sha256=kIzeKKXEouXLR4srqwf9Q3zv-NffKSOz5aSDOJARPB0,21 22 | idna/uts46data.py,sha256=oLyNZ1pBaiBlj9zFzLFRd_P7J8MkRcgDisjExZR_4MY,198292 23 | -------------------------------------------------------------------------------- /.svn/pristine/e3/e3238c8a929d45a2c34f8bcaafd759b95c5530d6.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/e3/e3238c8a929d45a2c34f8bcaafd759b95c5530d6.svn-base -------------------------------------------------------------------------------- /.svn/pristine/e3/e363ce0d31b8bbac5c9d78023cf5e10c7adeb486.svn-base: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.33.1) 3 | Root-Is-Purelib: true 4 | Tag: py2-none-any 5 | Tag: py3-none-any 6 | 7 | -------------------------------------------------------------------------------- /.svn/pristine/e4/e40857f1e67fb712c6b259b818841166fd4fadfa.svn-base: -------------------------------------------------------------------------------- 1 | _pytest 2 | pytest 3 | -------------------------------------------------------------------------------- /.svn/pristine/e4/e4390e9491cef38858c8ec6e56e8ffd1d5f511d9.svn-base: -------------------------------------------------------------------------------- 1 | from .core import where 2 | 3 | __version__ = "2019.03.09" 4 | -------------------------------------------------------------------------------- /.svn/pristine/e4/e4527be6061f8b9bcc361d7abb4ff6f2379f0edf.svn-base: -------------------------------------------------------------------------------- 1 | """ 2 | HTML parsing library based on the `WHATWG HTML specification 3 | `_. The parser is designed to be compatible with 4 | existing HTML found in the wild and implements well-defined error recovery that 5 | is largely compatible with modern desktop web browsers. 6 | 7 | Example usage:: 8 | 9 | from pip._vendor import html5lib 10 | with open("my_document.html", "rb") as f: 11 | tree = html5lib.parse(f) 12 | 13 | For convenience, this module re-exports the following names: 14 | 15 | * :func:`~.html5parser.parse` 16 | * :func:`~.html5parser.parseFragment` 17 | * :class:`~.html5parser.HTMLParser` 18 | * :func:`~.treebuilders.getTreeBuilder` 19 | * :func:`~.treewalkers.getTreeWalker` 20 | * :func:`~.serializer.serialize` 21 | """ 22 | 23 | from __future__ import absolute_import, division, unicode_literals 24 | 25 | from .html5parser import HTMLParser, parse, parseFragment 26 | from .treebuilders import getTreeBuilder 27 | from .treewalkers import getTreeWalker 28 | from .serializer import serialize 29 | 30 | __all__ = ["HTMLParser", "parse", "parseFragment", "getTreeBuilder", 31 | "getTreeWalker", "serialize"] 32 | 33 | # this has to be at the top level, see how setup.py parses this 34 | #: Distribution version number. 35 | __version__ = "1.0.1" 36 | -------------------------------------------------------------------------------- /.svn/pristine/e6/e6ddbbe263e9ba556616c36c8e60e2175a5121cb.svn-base: -------------------------------------------------------------------------------- 1 | atomicwrites 2 | -------------------------------------------------------------------------------- /.svn/pristine/e6/e6f4464622b4378b394bf497f04afd373e2dd994.svn-base: -------------------------------------------------------------------------------- 1 | try: 2 | from urllib.parse import urljoin 3 | except ImportError: 4 | from urlparse import urljoin 5 | 6 | 7 | try: 8 | import cPickle as pickle 9 | except ImportError: 10 | import pickle 11 | 12 | 13 | # Handle the case where the requests module has been patched to not have 14 | # urllib3 bundled as part of its source. 15 | try: 16 | from pip._vendor.requests.packages.urllib3.response import HTTPResponse 17 | except ImportError: 18 | from pip._vendor.urllib3.response import HTTPResponse 19 | 20 | try: 21 | from pip._vendor.requests.packages.urllib3.util import is_fp_closed 22 | except ImportError: 23 | from pip._vendor.urllib3.util import is_fp_closed 24 | 25 | # Replicate some six behaviour 26 | try: 27 | text_type = unicode 28 | except NameError: 29 | text_type = str 30 | -------------------------------------------------------------------------------- /.svn/pristine/e7/e7a49b273f779fd8f5884e8f2619cdfd00d96bba.svn-base: -------------------------------------------------------------------------------- 1 | import attr 2 | 3 | 4 | class PytestWarning(UserWarning): 5 | """ 6 | Bases: :class:`UserWarning`. 7 | 8 | Base class for all warnings emitted by pytest. 9 | """ 10 | 11 | 12 | class PytestDeprecationWarning(PytestWarning, DeprecationWarning): 13 | """ 14 | Bases: :class:`pytest.PytestWarning`, :class:`DeprecationWarning`. 15 | 16 | Warning class for features that will be removed in a future version. 17 | """ 18 | 19 | 20 | class RemovedInPytest4Warning(PytestDeprecationWarning): 21 | """ 22 | Bases: :class:`pytest.PytestDeprecationWarning`. 23 | 24 | Warning class for features scheduled to be removed in pytest 4.0. 25 | """ 26 | 27 | 28 | class PytestExperimentalApiWarning(PytestWarning, FutureWarning): 29 | """ 30 | Bases: :class:`pytest.PytestWarning`, :class:`FutureWarning`. 31 | 32 | Warning category used to denote experiments in pytest. Use sparingly as the API might change or even be 33 | removed completely in future version 34 | """ 35 | 36 | @classmethod 37 | def simple(cls, apiname): 38 | return cls( 39 | "{apiname} is an experimental api that may change over time".format( 40 | apiname=apiname 41 | ) 42 | ) 43 | 44 | 45 | @attr.s 46 | class UnformattedWarning(object): 47 | """Used to hold warnings that need to format their message at runtime, as opposed to a direct message. 48 | 49 | Using this class avoids to keep all the warning types and messages in this module, avoiding misuse. 50 | """ 51 | 52 | category = attr.ib() 53 | template = attr.ib() 54 | 55 | def format(self, **kwargs): 56 | """Returns an instance of the warning category, formatted with given kwargs""" 57 | return self.category(self.template.format(**kwargs)) 58 | 59 | 60 | PYTESTER_COPY_EXAMPLE = PytestExperimentalApiWarning.simple("testdir.copy_example") 61 | -------------------------------------------------------------------------------- /.svn/pristine/e9/e906c93851daf76973ff06de80579a25bf71377a.svn-base: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | """ 4 | requests._internal_utils 5 | ~~~~~~~~~~~~~~ 6 | 7 | Provides utility functions that are consumed internally by Requests 8 | which depend on extremely few external helpers (such as compat) 9 | """ 10 | 11 | from .compat import is_py2, builtin_str, str 12 | 13 | 14 | def to_native_string(string, encoding='ascii'): 15 | """Given a string object, regardless of type, returns a representation of 16 | that string in the native string type, encoding and decoding where 17 | necessary. This assumes ASCII unless told otherwise. 18 | """ 19 | if isinstance(string, builtin_str): 20 | out = string 21 | else: 22 | if is_py2: 23 | out = string.encode(encoding) 24 | else: 25 | out = string.decode(encoding) 26 | 27 | return out 28 | 29 | 30 | def unicode_is_ascii(u_string): 31 | """Determine if unicode string only contains ASCII characters. 32 | 33 | :param str u_string: unicode string to check. Must be unicode 34 | and not Python 2 `str`. 35 | :rtype: bool 36 | """ 37 | assert isinstance(u_string, str) 38 | try: 39 | u_string.encode('ascii') 40 | return True 41 | except UnicodeEncodeError: 42 | return False 43 | -------------------------------------------------------------------------------- /.svn/pristine/e9/e980cb97d05038f5db19ef8d719cfa2b403a48b4.svn-base: -------------------------------------------------------------------------------- 1 | """ python inspection/code generation API """ 2 | -------------------------------------------------------------------------------- /.svn/pristine/ea/ea5433be8193cbfa0f6454467e45ec2d7df63d55.svn-base: -------------------------------------------------------------------------------- 1 | class UsageError(Exception): 2 | """ error in pytest usage or invocation""" 3 | 4 | 5 | class PrintHelp(Exception): 6 | """Raised when pytest should print it's help to skip the rest of the 7 | argument parsing and validation.""" 8 | 9 | pass 10 | -------------------------------------------------------------------------------- /.svn/pristine/ea/ea754e241e066d60aa3e231d0c05a88b06b564b4.svn-base: -------------------------------------------------------------------------------- 1 | This packge contains a modified version of ca-bundle.crt: 2 | 3 | ca-bundle.crt -- Bundle of CA Root Certificates 4 | 5 | Certificate data from Mozilla as of: Thu Nov 3 19:04:19 2011# 6 | This is a bundle of X.509 certificates of public Certificate Authorities 7 | (CA). These were automatically extracted from Mozilla's root certificates 8 | file (certdata.txt). This file can be found in the mozilla source tree: 9 | http://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw/builtins/certdata.txt?raw=1# 10 | It contains the certificates in PEM format and therefore 11 | can be directly used with curl / libcurl / php_curl, or with 12 | an Apache+mod_ssl webserver for SSL client authentication. 13 | Just configure this file as the SSLCACertificateFile.# 14 | 15 | ***** BEGIN LICENSE BLOCK ***** 16 | This Source Code Form is subject to the terms of the Mozilla Public License, 17 | v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain 18 | one at http://mozilla.org/MPL/2.0/. 19 | 20 | ***** END LICENSE BLOCK ***** 21 | @(#) $RCSfile: certdata.txt,v $ $Revision: 1.80 $ $Date: 2011/11/03 15:11:58 $ 22 | -------------------------------------------------------------------------------- /.svn/pristine/ec/ece9c96cdb6eb0ef51b2a04163be5a124702f0e3.svn-base: -------------------------------------------------------------------------------- 1 | import sys 2 | import warnings 3 | 4 | 5 | class PyStdIsDeprecatedWarning(DeprecationWarning): 6 | pass 7 | 8 | 9 | class Std(object): 10 | """ makes top-level python modules available as an attribute, 11 | importing them on first access. 12 | """ 13 | 14 | def __init__(self): 15 | self.__dict__ = sys.modules 16 | 17 | def __getattr__(self, name): 18 | warnings.warn("py.std is deprecated, plase import %s directly" % name, 19 | category=PyStdIsDeprecatedWarning) 20 | try: 21 | m = __import__(name) 22 | except ImportError: 23 | raise AttributeError("py.std: could not import %s" % name) 24 | return m 25 | 26 | std = Std() 27 | -------------------------------------------------------------------------------- /.svn/pristine/ec/ecec641c1b246fde024dfd5a23c8d56737217b71.svn-base: -------------------------------------------------------------------------------- 1 | allure_pytest 2 | -------------------------------------------------------------------------------- /.svn/pristine/f0/f02c00e0f57b81a6ea652f22e4934258f5ef00c7.svn-base: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | # This code exists for backwards compatibility reasons. 4 | # I don't like it either. Just look the other way. :) 5 | 6 | for package in ('urllib3', 'idna', 'chardet'): 7 | vendored_package = "pip._vendor." + package 8 | locals()[package] = __import__(vendored_package) 9 | # This traversal is apparently necessary such that the identities are 10 | # preserved (requests.packages.urllib3.* is urllib3.*) 11 | for mod in list(sys.modules): 12 | if mod == vendored_package or mod.startswith(vendored_package + '.'): 13 | unprefixed_mod = mod[len("pip._vendor."):] 14 | sys.modules['pip._vendor.requests.packages.' + unprefixed_mod] = sys.modules[mod] 15 | 16 | # Kinda cool, though, right? 17 | -------------------------------------------------------------------------------- /.svn/pristine/f1/f15d6b837aea451b59fe38885f74e68036ff5813.svn-base: -------------------------------------------------------------------------------- 1 | """Wrappers to build Python packages using PEP 517 hooks 2 | """ 3 | 4 | __version__ = '0.5.0' 5 | -------------------------------------------------------------------------------- /.svn/pristine/f3/f32263e41d081eb70df92611e15e78f9daf97e3d.svn-base: -------------------------------------------------------------------------------- 1 | [pytest11] 2 | allure_pytest = allure_pytest.plugin 3 | 4 | -------------------------------------------------------------------------------- /.svn/pristine/f4/f47ebb1a4cffbcfc42a56c3c3bfba570b4718adc.svn-base: -------------------------------------------------------------------------------- 1 | from pip._vendor.six.moves.urllib import parse as urllib_parse 2 | 3 | 4 | class PackageIndex(object): 5 | """Represents a Package Index and provides easier access to endpoints 6 | """ 7 | 8 | def __init__(self, url, file_storage_domain): 9 | # type: (str, str) -> None 10 | super(PackageIndex, self).__init__() 11 | self.url = url 12 | self.netloc = urllib_parse.urlsplit(url).netloc 13 | self.simple_url = self._url_for_path('simple') 14 | self.pypi_url = self._url_for_path('pypi') 15 | 16 | # This is part of a temporary hack used to block installs of PyPI 17 | # packages which depend on external urls only necessary until PyPI can 18 | # block such packages themselves 19 | self.file_storage_domain = file_storage_domain 20 | 21 | def _url_for_path(self, path): 22 | # type: (str) -> str 23 | return urllib_parse.urljoin(self.url, path) 24 | 25 | 26 | PyPI = PackageIndex( 27 | 'https://pypi.org/', file_storage_domain='files.pythonhosted.org' 28 | ) 29 | TestPyPI = PackageIndex( 30 | 'https://test.pypi.org/', file_storage_domain='test-files.pythonhosted.org' 31 | ) 32 | -------------------------------------------------------------------------------- /.svn/pristine/f4/f49005b194f8ef2418c8e03fc51e5e8ac64a0cfb.svn-base: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import 2 | 3 | import os 4 | import sys 5 | 6 | # If we are running from a wheel, add the wheel to sys.path 7 | # This allows the usage python pip-*.whl/pip install pip-*.whl 8 | if __package__ == '': 9 | # __file__ is pip-*.whl/pip/__main__.py 10 | # first dirname call strips of '/__main__.py', second strips off '/pip' 11 | # Resulting path is the name of the wheel itself 12 | # Add that to sys.path so we can import pip 13 | path = os.path.dirname(os.path.dirname(__file__)) 14 | sys.path.insert(0, path) 15 | 16 | from pip._internal import main as _main # isort:skip # noqa 17 | 18 | if __name__ == '__main__': 19 | sys.exit(_main()) 20 | -------------------------------------------------------------------------------- /.svn/pristine/f6/f6b751bd601dcf25f3b656671149100471db7b68.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/f6/f6b751bd601dcf25f3b656671149100471db7b68.svn-base -------------------------------------------------------------------------------- /.svn/pristine/f6/f6ecd5d34962a5b81b71bdc40b140d553a0c120e.svn-base: -------------------------------------------------------------------------------- 1 | ######################## BEGIN LICENSE BLOCK ######################## 2 | # The Original Code is mozilla.org code. 3 | # 4 | # The Initial Developer of the Original Code is 5 | # Netscape Communications Corporation. 6 | # Portions created by the Initial Developer are Copyright (C) 1998 7 | # the Initial Developer. All Rights Reserved. 8 | # 9 | # Contributor(s): 10 | # Mark Pilgrim - port to Python 11 | # 12 | # This library is free software; you can redistribute it and/or 13 | # modify it under the terms of the GNU Lesser General Public 14 | # License as published by the Free Software Foundation; either 15 | # version 2.1 of the License, or (at your option) any later version. 16 | # 17 | # This library is distributed in the hope that it will be useful, 18 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 20 | # Lesser General Public License for more details. 21 | # 22 | # You should have received a copy of the GNU Lesser General Public 23 | # License along with this library; if not, write to the Free Software 24 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 25 | # 02110-1301 USA 26 | ######################### END LICENSE BLOCK ######################### 27 | 28 | from .mbcharsetprober import MultiByteCharSetProber 29 | from .codingstatemachine import CodingStateMachine 30 | from .chardistribution import EUCTWDistributionAnalysis 31 | from .mbcssm import EUCTW_SM_MODEL 32 | 33 | class EUCTWProber(MultiByteCharSetProber): 34 | def __init__(self): 35 | super(EUCTWProber, self).__init__() 36 | self.coding_sm = CodingStateMachine(EUCTW_SM_MODEL) 37 | self.distribution_analyzer = EUCTWDistributionAnalysis() 38 | self.reset() 39 | 40 | @property 41 | def charset_name(self): 42 | return "EUC-TW" 43 | 44 | @property 45 | def language(self): 46 | return "Taiwan" 47 | -------------------------------------------------------------------------------- /.svn/pristine/f7/f708def9ce26b000424c385ba935886c8d0e658e.svn-base: -------------------------------------------------------------------------------- 1 | # pytest cache directory # 2 | 3 | This directory contains data from the pytest's cache plugin, 4 | which provides the `--lf` and `--ff` options, as well as the `cache` fixture. 5 | 6 | **Do not** commit this to version control. 7 | 8 | See [the docs](https://docs.pytest.org/en/latest/cache.html) for more information. 9 | -------------------------------------------------------------------------------- /.svn/pristine/f7/f70baefcd39ba2932dcbcb33b7275e381fbc6f1f.svn-base: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | ''' 3 | @author: lingshu 4 | @file: get_file_path.py 5 | @time: 2019/6/21 17:09 6 | @desc: 获取文件路径 7 | ''' 8 | import os 9 | 10 | project_name="api_auto_test" 11 | def get_root_path(): 12 | ''' 13 | 获取根路径 14 | :param project_name: 项目名 15 | :return: 16 | ''' 17 | curPath = os.path.abspath(os.path.dirname(__file__)) 18 | rootPath = curPath[:curPath.find(project_name+"\\") + len(project_name+"\\")] # 获取myProject,也就是项目的根路径 19 | # print("rootPath= %s",rootPath) 20 | return rootPath 21 | 22 | if __name__ == '__main__': 23 | print(get_root_path()) -------------------------------------------------------------------------------- /.svn/pristine/f9/f950143e883e2b07416ee1b87154d0683629c6fe.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/f9/f950143e883e2b07416ee1b87154d0683629c6fe.svn-base -------------------------------------------------------------------------------- /.svn/pristine/fa/fa159fdddfc0f2ff1438778ef6712d89144c382f.svn-base: -------------------------------------------------------------------------------- 1 | ######################## BEGIN LICENSE BLOCK ######################## 2 | # Contributor(s): 3 | # Dan Blanchard 4 | # Ian Cordasco 5 | # 6 | # This library is free software; you can redistribute it and/or 7 | # modify it under the terms of the GNU Lesser General Public 8 | # License as published by the Free Software Foundation; either 9 | # version 2.1 of the License, or (at your option) any later version. 10 | # 11 | # This library is distributed in the hope that it will be useful, 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | # Lesser General Public License for more details. 15 | # 16 | # You should have received a copy of the GNU Lesser General Public 17 | # License along with this library; if not, write to the Free Software 18 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 19 | # 02110-1301 USA 20 | ######################### END LICENSE BLOCK ######################### 21 | 22 | import sys 23 | 24 | 25 | if sys.version_info < (3, 0): 26 | PY2 = True 27 | PY3 = False 28 | base_str = (str, unicode) 29 | text_type = unicode 30 | else: 31 | PY2 = False 32 | PY3 = True 33 | base_str = (bytes, str) 34 | text_type = str 35 | -------------------------------------------------------------------------------- /.svn/pristine/fa/faa798fb4028483ebdf60fa049001f975e7c9ba5.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/pristine/fa/faa798fb4028483ebdf60fa049001f975e7c9ba5.svn-base -------------------------------------------------------------------------------- /.svn/pristine/fc/fc17016d4aa0e10a7f5ccf90c72bc73add963bba.svn-base: -------------------------------------------------------------------------------- 1 | {"classifiers": ["Development Status :: 5 - Production/Stable", "Framework :: Pytest", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Topic :: Software Development :: Quality Assurance", "Topic :: Software Development :: Testing"], "extensions": {"python.details": {"contacts": [{"email": "sseliverstov@qameta.io", "name": "QAMetaSoftware, Stanislav Seliverstov", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}, "project_urls": {"Home": "https://github.com/allure-framework/allure-python"}}, "python.exports": {"pytest11": {"allure_pytest": "allure_pytest.plugin"}}}, "extras": [], "generator": "bdist_wheel (0.29.0)", "keywords": ["allure", "reporting", "pytest"], "license": "Apache-2.0", "metadata_version": "2.0", "name": "allure-pytest", "run_requires": [{"requires": ["allure-python-commons (==2.6.2)", "pytest (>=3.4.0)", "six (>=1.9.0)"]}], "summary": "Allure pytest integration", "version": "2.6.2"} -------------------------------------------------------------------------------- /.svn/pristine/fc/fc5bae75ccc439258055876e2643b34099e98fd9.svn-base: -------------------------------------------------------------------------------- 1 | Allure Pytest Plugin 2 | ==================== 3 | .. image:: https://pypip.in/v/allure-pytest/badge.png 4 | :alt: Release Status 5 | :target: https://pypi.python.org/pypi/allure-pytest 6 | .. image:: https://pypip.in/d/allure-pytest/badge.png 7 | :alt: Downloads 8 | :target: https://pypi.python.org/pypi/allure-pytest 9 | 10 | - `Source `_ 11 | 12 | - `Documentation `_ 13 | 14 | - `Gitter `_ 15 | 16 | 17 | Installation and Usage 18 | ====================== 19 | 20 | .. code:: bash 21 | 22 | $ pip install allure-pytest 23 | $ py.test --alluredir=%allure_result_folder% ./tests 24 | $ allure serve %allure_result_folder% 25 | 26 | 27 | -------------------------------------------------------------------------------- /.svn/pristine/fd/fd51fb1f91041900d6d370eea4f87f02d662d768.svn-base: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | # file generated by setuptools_scm 3 | # don't change, don't track in version control 4 | version = '4.4.1' 5 | -------------------------------------------------------------------------------- /.svn/pristine/fe/fe826e4a37125ed326535b70cb9eb634f4b8b0eb.svn-base: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | requests.certs 6 | ~~~~~~~~~~~~~~ 7 | 8 | This module returns the preferred default CA certificate bundle. There is 9 | only one — the one from the certifi package. 10 | 11 | If you are packaging Requests, e.g., for a Linux distribution or a managed 12 | environment, you can change the definition of where() to return a separately 13 | packaged CA bundle. 14 | """ 15 | from certifi import where 16 | 17 | if __name__ == '__main__': 18 | print(where()) 19 | -------------------------------------------------------------------------------- /.svn/wc.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/wc.db -------------------------------------------------------------------------------- /.svn/wc.db-journal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/.svn/wc.db-journal -------------------------------------------------------------------------------- /config/env_config.yml: -------------------------------------------------------------------------------- 1 | host: 2 | url: https://postman-echo.com/time/before -------------------------------------------------------------------------------- /test_all_run.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | import allure 3 | 4 | if __name__ == '__main__': 5 | pytest.main() -------------------------------------------------------------------------------- /test_case/conftest.py: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | import pytest 3 | import allure 4 | import yaml 5 | import os 6 | ''' 7 | @author: lingshu 8 | @file: conftest.py 9 | @time: 2019/6/6 11:10 10 | @desc: 11 | ''' 12 | @pytest.fixture(scope="session",autouse=True) 13 | def env_config(request): 14 | """ 15 | 读取yml配置文件 16 | """ 17 | project_name = 'api_auto_test' 18 | rootPath = get_root_path(project_name) 19 | config_path = os.path.abspath(rootPath + 'config\\env_config.yml') # 获取tran.csv文件的路径 20 | with open(config_path) as f: 21 | env_config = yaml.load(f) #读取配置文件 22 | return env_config 23 | 24 | def get_root_path(project_name): 25 | curPath = os.path.abspath(os.path.dirname(__file__)) 26 | rootPath = curPath[:curPath.find(project_name+"\\") + len(project_name+"\\")] # 获取myProject,也就是项目的根路径 27 | return rootPath -------------------------------------------------------------------------------- /test_case/test_postman_api.py: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | import allure 3 | import pytest 4 | import requests 5 | from utils.read_excel import * 6 | ''' 7 | @author: lingshu 8 | @file: test_postman_api.py 9 | @time: 2019/7/8 20:54 10 | @desc: 测试postman API 11 | ''' 12 | 13 | test_data = get_xls() 14 | 15 | @allure.feature('postman') 16 | @allure.story('postman-api') 17 | @pytest.mark.parametrize('timestamp,target,expected',test_data) 18 | def test_timestamp(timestamp,target,expected,env_config): 19 | """ 20 | 用例描述:测试不同的timestamp和target 21 | """ 22 | #从yml配置文件获取url 23 | url = env_config['host']['url'] 24 | payload = {'timestamp':timestamp,'target':target} 25 | r = requests.get(url,params=payload) 26 | print(r.url) 27 | result = r.json() 28 | assert str(result['before'])==expected 29 | 30 | -------------------------------------------------------------------------------- /testdata/testdata.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adien-galen/api_auto_test/7b6f25ac1020f054410a215d49f457268b9baad7/testdata/testdata.xlsx -------------------------------------------------------------------------------- /utils/__init__.py: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | ''' 3 | @author: lingshu 4 | @file: __init__.py.py 5 | @time: 2019/7/9 10:16 6 | @desc: 7 | ''' -------------------------------------------------------------------------------- /utils/get_file_path.py: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | ''' 3 | @author: lingshu 4 | @file: get_file_path.py 5 | @time: 2019/6/21 17:09 6 | @desc: 获取文件路径 7 | ''' 8 | import os 9 | 10 | project_name="api_auto_test" 11 | def get_root_path(): 12 | ''' 13 | 获取根路径 14 | :param project_name: 项目名 15 | :return: 16 | ''' 17 | curPath = os.path.abspath(os.path.dirname(__file__)) 18 | rootPath = curPath[:curPath.find(project_name+"\\") + len(project_name+"\\")] # 获取myProject,也就是项目的根路径 19 | # print("rootPath= %s",rootPath) 20 | return rootPath 21 | 22 | if __name__ == '__main__': 23 | print(get_root_path()) -------------------------------------------------------------------------------- /utils/read_excel.py: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | ''' 3 | @author: lingshu 4 | @file: read_excel.py 5 | @time: 2019/6/21 17:03 6 | @desc: 读取excel 7 | ''' 8 | import xlrd 9 | from utils import get_file_path 10 | def read_excel(): 11 | file_path = get_file_path.get_root_path()+'testdata\\testdata.xlsx' 12 | # 文件位置 13 | excel_file=xlrd.open_workbook(file_path) 14 | 15 | # 获取sheet内容【1.根据sheet索引2.根据sheet名称】 16 | # sheet=ExcelFile.sheet_by_index(1) 17 | sheet = excel_file.sheet_by_name('Sheet1') 18 | # 打印sheet的名称,行数,列数 19 | print(sheet.name) 20 | print(sheet.nrows) 21 | print(sheet.ncols) 22 | 23 | # 获取整行或者整列的值 24 | rows = sheet.row_values(1) 25 | cols = sheet.col_values(1) 26 | print(rows) 27 | print(cols) 28 | 29 | #获取单元格内容 30 | print("第二行第一列的值为: %s",sheet.cell(1,0)) 31 | 32 | # 打印单元格内容格式 33 | print("单元格内容格式为: %s",sheet.cell(0,0).ctype) 34 | 35 | def get_xls(): 36 | cls = [] 37 | file_path = get_file_path.get_root_path() + 'testdata\\testdata.xlsx' 38 | # 文件位置 39 | excel_file = xlrd.open_workbook(file_path) 40 | sheet = excel_file.sheet_by_name('Sheet1') 41 | nrows = sheet.nrows 42 | for i in range(nrows): 43 | cls.append(sheet.row_values(i)) 44 | return cls 45 | if __name__ == '__main__': 46 | print(get_xls()) --------------------------------------------------------------------------------