How to use connect method in Playwright Internal

Best JavaScript code snippet using playwright-internal

genotypes.py

Source:genotypes.py Github

copy

Full Screen

1from collections import namedtuple2Genotype = namedtuple('Genotype', 'normal normal_concat reduce reduce_concat')3PRIMITIVES = [4 'none',5 'max_pool_3x3',6 'avg_pool_3x3',7 'skip_connect',8 'sep_conv_3x3',9 'sep_conv_5x5',10 'dil_conv_3x3',11 'dil_conv_5x5'12]13PDARTS_TS_CIFAR10 = Genotype(14 normal=[('sep_conv_3x3', 0), 15 ('sep_conv_3x3', 1), 16 ('sep_conv_3x3', 0), 17 ('dil_conv_3x3', 2), 18 ('skip_connect', 0), 19 ('dil_conv_3x3', 3), 20 ('skip_connect', 2), 21 ('dil_conv_5x5', 4)], 22 normal_concat=range(2, 6), 23 reduce=[('avg_pool_3x3', 0), 24 ('dil_conv_3x3', 1), 25 ('avg_pool_3x3', 0), 26 ('dil_conv_5x5', 2), 27 ('skip_connect', 0), 28 ('sep_conv_3x3', 3), 29 ('sep_conv_3x3', 0), 30 ('dil_conv_3x3', 2)], 31 reduce_concat=range(2, 6))32PDARTS_TS_CIFAR100 = Genotype(33 normal=[('sep_conv_3x3', 0), 34 ('sep_conv_5x5', 1), 35 ('skip_connect', 0), 36 ('sep_conv_3x3', 1), 37 ('sep_conv_3x3', 0), 38 ('skip_connect', 2), 39 ('sep_conv_3x3', 0), 40 ('sep_conv_3x3', 1)], 41 normal_concat=range(2, 6), 42 reduce=[('dil_conv_3x3', 0), 43 ('avg_pool_3x3', 1), 44 ('dil_conv_3x3', 1), 45 ('sep_conv_5x5', 2), 46 ('sep_conv_5x5', 1), 47 ('sep_conv_5x5', 2), 48 ('avg_pool_3x3', 0), 49 ('dil_conv_5x5', 2)], 50 reduce_concat=range(2, 6))51DARTS_MINUS_TS_CIFAR10_NEW = Genotype(52 normal=[('sep_conv_3x3', 1),53 ('sep_conv_3x3', 0),54 ('sep_conv_3x3', 0),55 ('sep_conv_5x5', 1),56 ('sep_conv_3x3', 0),57 ('skip_connect', 1),58 ('skip_connect', 0),59 ('skip_connect', 1)],60 normal_concat=range(2, 6),61 reduce=[('sep_conv_3x3', 1),62 ('sep_conv_3x3', 0),63 ('skip_connect', 2),64 ('max_pool_3x3', 1),65 ('skip_connect', 2),66 ('skip_connect', 3),67 ('skip_connect', 2),68 ('skip_connect', 3)],69 reduce_concat=range(2, 6))70DARTS_MINUS_TS_CIFAR100_NEW = Genotype(71 normal=[('sep_conv_3x3', 0),72 ('sep_conv_3x3', 1),73 ('sep_conv_3x3', 0),74 ('skip_connect', 1),75 ('dil_conv_5x5', 0),76 ('skip_connect', 1),77 ('skip_connect', 0),78 ('skip_connect', 1)],79 normal_concat=range(2, 6),80 reduce=[('sep_conv_3x3', 0),81 ('sep_conv_5x5', 1),82 ('skip_connect', 2),83 ('avg_pool_3x3', 1),84 ('skip_connect', 2),85 ('skip_connect', 3),86 ('skip_connect', 2),87 ('skip_connect', 3)],88 reduce_concat=range(2, 6))89DARTS_MINUS_CIFAR10 = Genotype(90 normal=[('sep_conv_3x3', 0),91 ('sep_conv_3x3', 1),92 ('sep_conv_3x3', 0),93 ('skip_connect', 1),94 ('skip_connect', 0),95 ('skip_connect', 1),96 ('skip_connect', 1),97 ('skip_connect', 0)],98 normal_concat=range(2, 6),99 reduce=[('sep_conv_3x3', 0),100 ('sep_conv_3x3', 1),101 ('skip_connect', 2),102 ('max_pool_3x3', 0),103 ('skip_connect', 2),104 ('skip_connect', 3),105 ('skip_connect', 2),106 ('skip_connect', 3)],107 reduce_concat=range(2, 6))108DARTS_MINUS_CIFAR100 = Genotype(109 normal=[('skip_connect', 0),110 ('sep_conv_3x3', 1),111 ('dil_conv_3x3', 0),112 ('skip_connect', 1),113 ('sep_conv_3x3', 0),114 ('skip_connect', 1),115 ('skip_connect', 1),116 ('skip_connect', 0)],117 normal_concat=range(2, 6),118 reduce=[('sep_conv_3x3', 0),119 ('avg_pool_3x3', 1),120 ('skip_connect', 2),121 ('avg_pool_3x3', 1),122 ('skip_connect', 2),123 ('skip_connect', 3),124 ('skip_connect', 2),125 ('skip_connect', 3)],126 reduce_concat=range(2, 6))127DARTS_MINUS_TS_CIFAR10 = Genotype(128 normal=[('sep_conv_3x3', 0),129 ('sep_conv_3x3', 1),130 ('sep_conv_5x5', 0),131 ('sep_conv_3x3', 1),132 ('dil_conv_3x3', 0),133 ('dil_conv_5x5', 1),134 ('skip_connect', 0),135 ('skip_connect', 1)],136 normal_concat=range(2, 6),137 reduce=[('max_pool_3x3', 1),138 ('max_pool_3x3', 0),139 ('skip_connect', 2),140 ('max_pool_3x3', 1),141 ('skip_connect', 2),142 ('skip_connect', 3),143 ('skip_connect', 2),144 ('skip_connect', 3)],145 reduce_concat=range(2, 6))146DARTS_MINUS_TS_CIFAR100 = Genotype(147 normal=[('sep_conv_3x3', 0),148 ('dil_conv_3x3', 1),149 ('skip_connect', 1),150 ('dil_conv_5x5', 0),151 ('skip_connect', 1),152 ('dil_conv_5x5', 0),153 ('skip_connect', 1),154 ('dil_conv_3x3', 0)],155 normal_concat=range(2, 6),156 reduce=[('sep_conv_3x3', 0),157 ('max_pool_3x3', 1),158 ('skip_connect', 2),159 ('sep_conv_3x3', 1),160 ('skip_connect', 2),161 ('skip_connect', 3),162 ('skip_connect', 2),163 ('skip_connect', 3)],164 reduce_concat=range(2, 6))165NASNet = Genotype(166 normal=[167 ('sep_conv_5x5', 1),168 ('sep_conv_3x3', 0),169 ('sep_conv_5x5', 0),170 ('sep_conv_3x3', 0),171 ('avg_pool_3x3', 1),172 ('skip_connect', 0),173 ('avg_pool_3x3', 0),174 ('avg_pool_3x3', 0),175 ('sep_conv_3x3', 1),176 ('skip_connect', 1),177 ],178 normal_concat=[2, 3, 4, 5, 6],179 reduce=[180 ('sep_conv_5x5', 1),181 ('sep_conv_7x7', 0),182 ('max_pool_3x3', 1),183 ('sep_conv_7x7', 0),184 ('avg_pool_3x3', 1),185 ('sep_conv_5x5', 0),186 ('skip_connect', 3),187 ('avg_pool_3x3', 2),188 ('sep_conv_3x3', 2),189 ('max_pool_3x3', 1),190 ],191 reduce_concat=[4, 5, 6],192)193AmoebaNet = Genotype(194 normal=[195 ('avg_pool_3x3', 0),196 ('max_pool_3x3', 1),197 ('sep_conv_3x3', 0),198 ('sep_conv_5x5', 2),199 ('sep_conv_3x3', 0),200 ('avg_pool_3x3', 3),201 ('sep_conv_3x3', 1),202 ('skip_connect', 1),203 ('skip_connect', 0),204 ('avg_pool_3x3', 1),205 ],206 normal_concat=[4, 5, 6],207 reduce=[208 ('avg_pool_3x3', 0),209 ('sep_conv_3x3', 1),210 ('max_pool_3x3', 0),211 ('sep_conv_7x7', 2),212 ('sep_conv_7x7', 0),213 ('avg_pool_3x3', 1),214 ('max_pool_3x3', 0),215 ('max_pool_3x3', 1),216 ('conv_7x1_1x7', 0),217 ('sep_conv_3x3', 5),218 ],219 reduce_concat=[3, 4, 6]220)221DARTS_V1 = Genotype(222 normal=[('sep_conv_3x3', 1),223 ('sep_conv_3x3', 0),224 ('skip_connect', 0),225 ('sep_conv_3x3', 1),226 ('skip_connect', 0),227 ('sep_conv_3x3', 1),228 ('sep_conv_3x3', 0),229 ('skip_connect', 2)],230 normal_concat=[2, 3, 4, 5],231 reduce=[('max_pool_3x3', 0),232 ('max_pool_3x3', 1),233 ('skip_connect', 2),234 ('max_pool_3x3', 0),235 ('max_pool_3x3', 0),236 ('skip_connect', 2),237 ('skip_connect', 2),238 ('avg_pool_3x3', 0)],239 reduce_concat=[2, 3, 4, 5])240DARTS_V2 = Genotype(241 normal=[('sep_conv_3x3', 0),242 ('sep_conv_3x3', 1),243 ('sep_conv_3x3', 0),244 ('sep_conv_3x3', 1),245 ('sep_conv_3x3', 1),246 ('skip_connect', 0),247 ('skip_connect', 0),248 ('dil_conv_3x3', 2)],249 normal_concat=[2, 3, 4, 5],250 reduce=[('max_pool_3x3', 0),251 ('max_pool_3x3', 1),252 ('skip_connect', 2),253 ('max_pool_3x3', 1),254 ('max_pool_3x3', 0),255 ('skip_connect', 2),256 ('skip_connect', 2),257 ('max_pool_3x3', 1)],258 reduce_concat=[2, 3, 4, 5])259DARTS = DARTS_V2260DARTS_CIFAR10_TS_1ST = Genotype(261 normal=[('sep_conv_3x3', 0),262 ('dil_conv_5x5', 1),263 ('skip_connect', 0),264 ('sep_conv_5x5', 1),265 ('skip_connect', 0),266 ('dil_conv_3x3', 1),267 ('skip_connect', 0),268 ('dil_conv_3x3', 1)],269 normal_concat=range(2, 6),270 reduce=[('max_pool_3x3', 0),271 ('max_pool_3x3', 1),272 ('skip_connect', 2),273 ('max_pool_3x3', 0),274 ('max_pool_3x3', 1),275 ('skip_connect', 2),276 ('skip_connect', 2),277 ('skip_connect', 3)],278 reduce_concat=range(2, 6))279DARTS_CIFAR100_TS_1ST = Genotype(280 normal=[('sep_conv_3x3', 0),281 ('sep_conv_3x3', 1),282 ('skip_connect', 0),283 ('skip_connect', 1),284 ('skip_connect', 0),285 ('skip_connect', 1),286 ('skip_connect', 0),287 ('skip_connect', 1)],288 normal_concat=range(2, 6),289 reduce=[('avg_pool_3x3', 0),290 ('avg_pool_3x3', 1),291 ('skip_connect', 2),292 ('avg_pool_3x3', 0),293 ('skip_connect', 2),294 ('avg_pool_3x3', 0),295 ('skip_connect', 2),296 ('avg_pool_3x3', 0)],297 reduce_concat=range(2, 6))298DARTS_CIFAR10_TS_18_V1 = Genotype(299 normal=[('sep_conv_3x3', 0),300 ('sep_conv_3x3', 1),301 ('skip_connect', 0),302 ('sep_conv_5x5', 1),303 ('sep_conv_3x3', 0),304 ('sep_conv_3x3', 1),305 ('skip_connect', 0),306 ('dil_conv_5x5', 1)],307 normal_concat=range(2, 6),308 reduce=[('avg_pool_3x3', 0),309 ('avg_pool_3x3', 1),310 ('avg_pool_3x3', 0),311 ('skip_connect', 2),312 ('skip_connect', 2),313 ('skip_connect', 3),314 ('avg_pool_3x3', 0),315 ('skip_connect', 2)],316 reduce_concat=range(2, 6))317DARTS_CIFAR10_TS_18_V2 = Genotype(318 normal=[('sep_conv_3x3', 0),319 ('sep_conv_3x3', 1),320 ('skip_connect', 0),321 ('sep_conv_5x5', 1),322 ('sep_conv_3x3', 0),323 ('sep_conv_3x3', 1),324 ('skip_connect', 0),325 ('dil_conv_5x5', 1)],326 normal_concat=range(2, 6),327 reduce=[('avg_pool_3x3', 0),328 ('avg_pool_3x3', 1),329 ('avg_pool_3x3', 0),330 ('skip_connect', 2),331 ('skip_connect', 2),332 ('avg_pool_3x3', 1),333 ('avg_pool_3x3', 0),334 ('skip_connect', 2)],335 reduce_concat=range(2, 6))336MY_DARTS_CIFAR10 = Genotype(337 normal=[('skip_connect', 0),338 ('sep_conv_3x3', 1),339 ('skip_connect', 0),340 ('dil_conv_5x5', 2),341 ('skip_connect', 0),342 ('dil_conv_5x5', 1),343 ('skip_connect', 0),344 ('sep_conv_3x3', 1)],345 normal_concat=range(2, 6),346 reduce=[('sep_conv_3x3', 1),347 ('max_pool_3x3', 0),348 ('skip_connect', 2),349 ('avg_pool_3x3', 0),350 ('skip_connect', 2),351 ('skip_connect', 3),352 ('skip_connect', 3),353 ('skip_connect', 2)],354 reduce_concat=range(2, 6))355DARTS_CIFAR10_TS_50 = Genotype(356 normal=[('sep_conv_3x3', 0), 357 ('sep_conv_3x3', 1),358 ('sep_conv_3x3', 0), 359 ('sep_conv_3x3', 1), 360 ('sep_conv_3x3', 0), 361 ('skip_connect', 1), 362 ('skip_connect', 0), 363 ('dil_conv_3x3', 1)],364 normal_concat=range(2, 6), 365 reduce=[('dil_conv_3x3', 0), 366 ('sep_conv_3x3', 1),367 ('max_pool_3x3', 0), 368 ('skip_connect', 2), 369 ('skip_connect', 2), 370 ('skip_connect', 3), 371 ('skip_connect', 2), 372 ('skip_connect', 3)], 373 reduce_concat=range(2, 6))374DARTS_CIFAR100_TS_50 = Genotype(375 normal=[('sep_conv_3x3', 0), 376 ('sep_conv_3x3', 1), 377 ('skip_connect', 0), 378 ('skip_connect', 1), 379 ('skip_connect', 0), 380 ('dil_conv_3x3', 1), 381 ('skip_connect', 0), 382 ('dil_conv_3x3', 1)], 383 normal_concat=range(2, 6), 384 reduce=[('max_pool_3x3', 1), 385 ('max_pool_3x3', 0), 386 ('max_pool_3x3', 0), 387 ('dil_conv_5x5', 2), 388 ('skip_connect', 2), 389 ('max_pool_3x3', 0), 390 ('skip_connect', 2), 391 ('max_pool_3x3', 0)], 392 reduce_concat=range(2, 6))393DARTS_CIFAR100_TS_34 = Genotype(394 normal=[('skip_connect', 0), 395 ('dil_conv_3x3', 1), 396 ('skip_connect', 0), 397 ('dil_conv_5x5', 1), 398 ('skip_connect', 0), 399 ('skip_connect', 1), 400 ('skip_connect', 0), 401 ('skip_connect', 1)], 402 normal_concat=range(2, 6), 403 reduce=[('avg_pool_3x3', 0), 404 ('avg_pool_3x3', 1), 405 ('skip_connect', 2), 406 ('avg_pool_3x3', 0), 407 ('skip_connect', 2), 408 ('avg_pool_3x3', 0), 409 ('skip_connect', 2), 410 ('avg_pool_3x3', 0)], 411 reduce_concat=range(2, 6))412DARTS_CIFAR10_TS_34 = Genotype(413 normal=[('sep_conv_3x3', 0), 414 ('sep_conv_3x3', 1), 415 ('skip_connect', 0), 416 ('dil_conv_3x3', 2), 417 ('sep_conv_3x3', 0), 418 ('dil_conv_5x5', 1), 419 ('skip_connect', 0), 420 ('sep_conv_3x3', 1)], 421 normal_concat=range(2, 6), 422 reduce=[('avg_pool_3x3', 1), 423 ('skip_connect', 0), 424 ('skip_connect', 2), 425 ('avg_pool_3x3', 1), 426 ('avg_pool_3x3', 1), 427 ('skip_connect', 2), 428 ('skip_connect', 2), 429 ('skip_connect', 3)], 430 reduce_concat=range(2, 6))431# DARTS_CIFAR100 = Genotype(432# normal=[('skip_connect', 0),433# ('skip_connect', 1),434# ('skip_connect', 0),435# ('skip_connect', 1),436# ('skip_connect', 0),437# ('skip_connect', 1),438# ('skip_connect', 0),439# ('skip_connect', 1)],440# normal_concat=range(2, 6),441# reduce=[('max_pool_3x3', 0),442# ('dil_conv_3x3', 1),443# ('skip_connect', 2),444# ('avg_pool_3x3', 0),445# ('skip_connect', 2),446# ('max_pool_3x3', 0),447# ('skip_connect', 2),448# ('avg_pool_3x3', 0)],449# reduce_concat=range(2, 6))450DARTS_CIFAR100_1ST = Genotype(451 normal=[('skip_connect', 0),452 ('skip_connect', 1),453 ('skip_connect', 0),454 ('sep_conv_3x3', 1),455 ('skip_connect', 0),456 ('skip_connect', 1),457 ('skip_connect', 0),458 ('skip_connect', 1)],459 normal_concat=range(2, 6),460 reduce=[('avg_pool_3x3', 0),461 ('avg_pool_3x3', 1),462 ('skip_connect', 2),463 ('avg_pool_3x3', 0),464 ('avg_pool_3x3', 0),465 ('skip_connect', 2),466 ('skip_connect', 2),467 ('avg_pool_3x3', 0)],468 reduce_concat=range(2, 6))469DARTS_CIFAR100 = Genotype(470 normal=[('skip_connect', 0),471 ('sep_conv_3x3', 1),472 ('skip_connect', 0),473 ('skip_connect', 1),474 ('skip_connect', 0),475 ('skip_connect', 1),476 ('skip_connect', 0),477 ('skip_connect', 1)],478 normal_concat=range(2, 6),479 reduce=[('avg_pool_3x3', 0),480 ('skip_connect', 1),481 ('skip_connect', 2),482 ('avg_pool_3x3', 0),483 ('avg_pool_3x3', 0),484 ('skip_connect', 2),485 ('skip_connect', 2),486 ('avg_pool_3x3', 0)],487 reduce_concat=range(2, 6))488DARTS_CIFAR100_TS_18 = Genotype(489 normal=[('sep_conv_3x3', 0),490 ('sep_conv_3x3', 1),491 ('skip_connect', 0),492 ('skip_connect', 1),493 ('skip_connect', 0),494 ('skip_connect', 1),495 ('skip_connect', 0),496 ('skip_connect', 1)],497 normal_concat=range(2, 6),498 reduce=[('avg_pool_3x3', 0),499 ('skip_connect', 1),500 ('avg_pool_3x3', 0),501 ('skip_connect', 2),502 ('avg_pool_3x3', 0),503 ('skip_connect', 2),504 ('skip_connect', 2),505 ('avg_pool_3x3', 0)],506 reduce_concat=range(2, 6))507DARTS_CIFAR100_ES = Genotype(508 normal=[('sep_conv_3x3', 1),509 ('skip_connect', 0),510 ('sep_conv_5x5', 1),511 ('skip_connect', 0),512 ('sep_conv_3x3', 0),513 ('sep_conv_3x3', 1),514 ('sep_conv_3x3', 1),515 ('sep_conv_3x3', 3)],516 normal_concat=range(2, 6),517 reduce=[('max_pool_3x3', 0),518 ('skip_connect', 1),519 ('max_pool_3x3', 0),520 ('dil_conv_3x3', 2),521 ('max_pool_3x3', 0),522 ('sep_conv_5x5', 2),523 ('max_pool_3x3', 0),524 ('skip_connect', 2)],525 reduce_concat=range(2, 6))526DARTS_CIFAR100_TS_18_ES = Genotype(527 normal=[('sep_conv_3x3', 0),528 ('sep_conv_3x3', 1),529 ('skip_connect', 0),530 ('sep_conv_5x5', 1),531 ('sep_conv_3x3', 0),532 ('sep_conv_3x3', 1),533 ('sep_conv_5x5', 2),534 ('skip_connect', 0)],535 normal_concat=range(2, 6),536 reduce=[('max_pool_3x3', 0),537 ('skip_connect', 1),538 ('max_pool_3x3', 0),539 ('skip_connect', 2),540 ('max_pool_3x3', 0),541 ('sep_conv_5x5', 3),542 ('max_pool_3x3', 0),543 ('skip_connect', 2)],544 reduce_concat=range(2, 6))545DARTS_CIFAR10_ES = Genotype(546 normal=[('sep_conv_3x3', 1),547 ('skip_connect', 0),548 ('dil_conv_5x5', 2),549 ('skip_connect', 0),550 ('sep_conv_5x5', 1),551 ('skip_connect', 0),552 ('sep_conv_3x3', 1),553 ('sep_conv_3x3', 2)],554 normal_concat=range(2, 6),555 reduce=[('max_pool_3x3', 0),556 ('sep_conv_3x3', 1),557 ('skip_connect', 2),558 ('max_pool_3x3', 0),559 ('skip_connect', 2),560 ('max_pool_3x3', 0),561 ('skip_connect', 2),562 ('max_pool_3x3', 0)],563 reduce_concat=range(2, 6))564DARTS_CIFAR10_TS_18_ES = Genotype(565 normal=[('sep_conv_3x3', 0),566 ('sep_conv_3x3', 1),567 ('skip_connect', 0),568 ('sep_conv_5x5', 1),569 ('sep_conv_3x3', 0),570 ('sep_conv_3x3', 1),571 ('skip_connect', 0),572 ('sep_conv_5x5', 1)],573 normal_concat=range(2, 6),574 reduce=[('avg_pool_3x3', 0),575 ('avg_pool_3x3', 1),576 ('avg_pool_3x3', 0),577 ('skip_connect', 2),578 ('skip_connect', 2),579 ('max_pool_3x3', 0),580 ('avg_pool_3x3', 0),581 ('skip_connect', 2)],582 reduce_concat=range(2, 6))583PDARTS_TS_CIFAR100_GAMMA_2 = Genotype(normal=[('sep_conv_3x3', 0), ('sep_conv_3x3', 1), ('skip_connect', 0), ('sep_conv_3x3', 2), ('skip_connect', 0), ('sep_conv_3x3', 2), ('sep_conv_3x3', 0), ('sep_conv_3x3', 2)], normal_concat=range(2, 6), reduce=[('avg_pool_3x3', 0), ('avg_pool_3x3', 1), ('avg_pool_3x3', 0), ('dil_conv_5x5', 2), ('avg_pool_3x3', 0), ('sep_conv_5x5', 2), ('avg_pool_3x3', 0), ('sep_conv_5x5', 4)], reduce_concat=range(2, 6))584PDARTS_TS_CIFAR100_GAMMA_3 = Genotype(normal=[('sep_conv_3x3', 0), ('dil_conv_3x3', 1), ('skip_connect', 0), ('sep_conv_3x3', 1), ('skip_connect', 0), ('dil_conv_5x5', 2), ('sep_conv_3x3', 0), ('dil_conv_5x5', 1)], normal_concat=range(2, 6), reduce=[('skip_connect', 0), ('max_pool_3x3', 1), ('skip_connect', 0), ('sep_conv_3x3', 1), ('avg_pool_3x3', 0), ('dil_conv_5x5', 3), ('dil_conv_3x3', 3), ('dil_conv_3x3', 4)], reduce_concat=range(2, 6))585PDARTS_TS_CIFAR100_GAMMA_0_1 = Genotype(normal=[('sep_conv_3x3', 0), ('sep_conv_3x3', 1), ('skip_connect', 0), ('dil_conv_3x3', 2), ('skip_connect', 0), ('sep_conv_3x3', 2), ('sep_conv_3x3', 0), ('dil_conv_3x3', 3)], normal_concat=range(2, 6), reduce=[('avg_pool_3x3', 0), ('dil_conv_5x5', 1), ('avg_pool_3x3', 0), ('sep_conv_3x3', 2), ('dil_conv_5x5', 2), ('dil_conv_3x3', 3), ('avg_pool_3x3', 0), ('sep_conv_5x5', 2)], reduce_concat=range(2, 6))586PDARTS_TS_CIFAR100_GAMMA_0_5 = Genotype(normal=[('sep_conv_3x3', 0), ('sep_conv_3x3', 1), ('skip_connect', 0), ('sep_conv_3x3', 1), ('sep_conv_3x3', 0), ('skip_connect', 2), ('sep_conv_3x3', 1), ('sep_conv_5x5', 4)], normal_concat=range(2, 6), reduce=[('sep_conv_3x3', 0), ('skip_connect', 1), ('avg_pool_3x3', 0), ('sep_conv_3x3', 2), ('avg_pool_3x3', 0), ('sep_conv_3x3', 1), ('avg_pool_3x3', 0), ('dil_conv_5x5', 2)], reduce_concat=range(2, 6))587DARTS_TS_18_CIFAR10_GAMMA_0_5 = Genotype(normal=[('skip_connect', 0), ('sep_conv_3x3', 1), ('sep_conv_3x3', 0), ('sep_conv_3x3', 1), ('skip_connect', 0), ('dil_conv_5x5', 1), ('skip_connect', 0), ('dil_conv_3x3', 1)], normal_concat=range(2, 6), reduce=[('max_pool_3x3', 0), ('skip_connect', 1), ('skip_connect', 2), ('max_pool_3x3', 0), ('max_pool_3x3', 0), ('skip_connect', 2), ('skip_connect', 2), ('max_pool_3x3', 0)], reduce_concat=range(2, 6))588DARTS_TS_18_CIFAR10_GAMMA_0_1 = Genotype(normal=[('skip_connect', 0), ('sep_conv_3x3', 1), ('skip_connect', 0), ('skip_connect', 1), ('skip_connect', 0), ('dil_conv_5x5', 1), ('skip_connect', 0), ('dil_conv_3x3', 1)], normal_concat=range(2, 6), reduce=[('max_pool_3x3', 0), ('avg_pool_3x3', 1), ('max_pool_3x3', 0), ('skip_connect', 2), ('max_pool_3x3', 0), ('skip_connect', 2), ('skip_connect', 2), ('avg_pool_3x3', 0)], reduce_concat=range(2, 6))589DARTS_TS_18_CIFAR10_GAMMA_2 = Genotype(normal=[('skip_connect', 0), ('sep_conv_5x5', 1), ('skip_connect', 0), ('skip_connect', 1), ('sep_conv_3x3', 0), ('dil_conv_3x3', 1), ('skip_connect', 0), ('dil_conv_3x3', 1)], normal_concat=range(2, 6), reduce=[('avg_pool_3x3', 0), ('avg_pool_3x3', 1), ('skip_connect', 2), ('avg_pool_3x3', 0), ('skip_connect', 2), ('avg_pool_3x3', 0), ('skip_connect', 2), ('skip_connect', 3)], reduce_concat=range(2, 6))590DARTS_TS_18_CIFAR10_GAMMA_3 = Genotype(normal=[('skip_connect', 0), ('sep_conv_3x3', 1), ('skip_connect', 0), ('skip_connect', 1), ('skip_connect', 0), ('dil_conv_5x5', 1), ('skip_connect', 0), ('dil_conv_5x5', 1)], normal_concat=range(2, 6), reduce=[('avg_pool_3x3', 1), ('avg_pool_3x3', 0), ('skip_connect', 2), ('avg_pool_3x3', 1), ('skip_connect', 2), ('avg_pool_3x3', 0), ('skip_connect', 2), ('avg_pool_3x3', 0)], reduce_concat=range(2, 6))591DARTS_TS_18_CIFAR10_LAMBDA_2 = Genotype(normal=[('sep_conv_3x3', 0), ('sep_conv_3x3', 1), ('sep_conv_3x3', 0), ('dil_conv_5x5', 1), ('skip_connect', 0), ('sep_conv_3x3', 1), ('skip_connect', 0), ('sep_conv_3x3', 1)], normal_concat=range(2, 6), reduce=[('skip_connect', 0), ('avg_pool_3x3', 1), ('skip_connect', 2), ('max_pool_3x3', 0), ('avg_pool_3x3', 1), ('skip_connect', 2), ('skip_connect', 2), ('skip_connect', 3)], reduce_concat=range(2, 6))592DARTS_TS_18_CIFAR10_LAMBDA_0_1 = Genotype(normal=[('sep_conv_3x3', 0), ('sep_conv_3x3', 1), ('skip_connect', 0), ('skip_connect', 2), ('sep_conv_3x3', 0), ('sep_conv_3x3', 1), ('skip_connect', 0), ('dil_conv_3x3', 1)], normal_concat=range(2, 6), reduce=[('avg_pool_3x3', 1), ('avg_pool_3x3', 0), ('skip_connect', 2), ('max_pool_3x3', 0), ('skip_connect', 2), ('skip_connect', 3), ('skip_connect', 2), ('avg_pool_3x3', 0)], reduce_concat=range(2, 6))593DARTS_TS_18_CIFAR10_LAMBDA_0_5 = Genotype(normal=[('sep_conv_3x3', 0), ('dil_conv_3x3', 1), ('sep_conv_3x3', 0), ('sep_conv_5x5', 1), ('skip_connect', 0), ('dil_conv_3x3', 1), ('skip_connect', 0), ('skip_connect', 1)], normal_concat=range(2, 6), reduce=[('max_pool_3x3', 0), ('dil_conv_3x3', 1), ('skip_connect', 2), ('max_pool_3x3', 0), ('skip_connect', 2), ('skip_connect', 3), ('skip_connect', 3), ('skip_connect', 2)], reduce_concat=range(2, 6))594DARTS_TS_18_CIFAR10_LAMBDA_3 = Genotype(normal=[('skip_connect', 0), ('sep_conv_3x3', 1), ('skip_connect', 0), ('sep_conv_3x3', 1), ('skip_connect', 0), ('sep_conv_3x3', 1), ('skip_connect', 0), ('sep_conv_3x3', 1)], normal_concat=range(2, 6), reduce=[('max_pool_3x3', 0), ('dil_conv_5x5', 1), ('skip_connect', 2), ('avg_pool_3x3', 0), ('avg_pool_3x3', 0), ('skip_connect', 2), ('skip_connect', 2), ('avg_pool_3x3', 0)], reduce_concat=range(2, 6))595PDARTS_TS_18_CIFAR100_LAMBDA_3 = Genotype(normal=[('skip_connect', 0), ('sep_conv_3x3', 1), ('skip_connect', 0), ('sep_conv_5x5', 1), ('dil_conv_3x3', 1), ('sep_conv_3x3', 2), ('sep_conv_3x3', 0), ('sep_conv_3x3', 1)], normal_concat=range(2, 6), reduce=[('max_pool_3x3', 0), ('sep_conv_3x3', 1), ('skip_connect', 1), ('sep_conv_3x3', 2), ('max_pool_3x3', 0), ('sep_conv_5x5', 1), ('dil_conv_3x3', 1), ('dil_conv_3x3', 2)], reduce_concat=range(2, 6))596PDARTS_TS_18_CIFAR100_LAMBDA_0_1 = Genotype(normal=[('sep_conv_3x3', 0), ('sep_conv_3x3', 1), ('skip_connect', 0), ('sep_conv_3x3', 1), ('skip_connect', 0), ('sep_conv_3x3', 1), ('sep_conv_3x3', 0), ('dil_conv_3x3', 1)], normal_concat=range(2, 6), reduce=[('max_pool_3x3', 0), ('sep_conv_5x5', 1), ('avg_pool_3x3', 0), ('sep_conv_3x3', 1), ('avg_pool_3x3', 0), ('dil_conv_5x5', 3), ('avg_pool_3x3', 0), ('dil_conv_3x3', 1)], reduce_concat=range(2, 6))597PDARTS_TS_18_CIFAR100_LAMBDA_0_5 = Genotype(normal=[('skip_connect', 0), ('sep_conv_5x5', 1), ('sep_conv_3x3', 0), ('skip_connect', 1), ('sep_conv_3x3', 0), ('sep_conv_3x3', 3), ('sep_conv_3x3', 0), ('dil_conv_3x3', 1)], normal_concat=range(2, 6), reduce=[('skip_connect', 0), ('skip_connect', 1), ('skip_connect', 0), ('skip_connect', 1), ('avg_pool_3x3', 0), ('avg_pool_3x3', 1), ('avg_pool_3x3', 0), ('dil_conv_5x5', 4)], reduce_concat=range(2, 6))598PDARTS_TS_18_CIFAR100_LAMBDA_2 = Genotype(normal=[('sep_conv_3x3', 0), ('sep_conv_3x3', 1), ('skip_connect', 0), ('dil_conv_3x3', 1), ('skip_connect', 0), ('sep_conv_5x5', 2), ('sep_conv_3x3', 0), ('dil_conv_5x5', 4)], normal_concat=range(2, 6), reduce=[('max_pool_3x3', 0), ('skip_connect', 1), ('avg_pool_3x3', 0), ('sep_conv_5x5', 1), ('avg_pool_3x3', 0), ('sep_conv_3x3', 2), ('max_pool_3x3', 0), ('dil_conv_3x3', 1)], reduce_concat=range(2, 6))599PDARTS_TS_18_CIFAR100_AB_1 = Genotype(normal=[('dil_conv_3x3', 0), ('sep_conv_3x3', 1), ('skip_connect', 0), ('sep_conv_3x3', 2), ('sep_conv_3x3', 0), ('dil_conv_3x3', 1), ('sep_conv_3x3', 0), ('sep_conv_3x3', 3)], normal_concat=range(2, 6), reduce=[('skip_connect', 0), ('dil_conv_5x5', 1), ('avg_pool_3x3', 0), ('skip_connect', 1), ('skip_connect', 0), ('sep_conv_5x5', 2), ('skip_connect', 0), ('sep_conv_3x3', 1)], reduce_concat=range(2, 6))600PDARTS_TS_18_CIFAR100_AB_4 = Genotype(normal=[('sep_conv_3x3', 0), ('dil_conv_3x3', 1), ('sep_conv_3x3', 0), ('skip_connect', 1), ('max_pool_3x3', 0), ('sep_conv_3x3', 1), ('skip_connect', 0), ('sep_conv_5x5', 1)], normal_concat=range(2, 6), reduce=[('avg_pool_3x3', 0), ('skip_connect', 1), ('avg_pool_3x3', 0), ('sep_conv_5x5', 2), ('avg_pool_3x3', 0), ('dil_conv_3x3', 1), ('avg_pool_3x3', 0), ('sep_conv_3x3', 4)], reduce_concat=range(2, 6))601DARTS_TS_18_CIFAR10_AB_1 = Genotype(normal=[('sep_conv_3x3', 0), ('sep_conv_3x3', 1), ('skip_connect', 0), ('dil_conv_5x5', 1), ('skip_connect', 0), ('sep_conv_3x3', 1), ('skip_connect', 0), ('sep_conv_3x3', 1)], normal_concat=range(2, 6), reduce=[('max_pool_3x3', 0), ('dil_conv_5x5', 1), ('skip_connect', 2), ('max_pool_3x3', 0), ('skip_connect', 2), ('avg_pool_3x3', 0), ('skip_connect', 2), ('skip_connect', 3)], reduce_concat=range(2, 6))602DARTS_TS_18_CIFAR10_AB_4 = Genotype(normal=[('sep_conv_3x3', 0), ('sep_conv_3x3', 1), ('skip_connect', 0), ('dil_conv_3x3', 1), ('sep_conv_3x3', 0), ('sep_conv_3x3', 1), ('skip_connect', 0), ('sep_conv_3x3', 1)], normal_concat=range(2, 6), reduce=[('dil_conv_3x3', 0), ('sep_conv_3x3', 1), ('skip_connect', 2), ('max_pool_3x3', 1), ('skip_connect', 2), ('dil_conv_3x3', 3), ('skip_connect', 2), ('skip_connect', 4)], reduce_concat=range(2, 6))603PDARTS_TUNED_CIFAR100 = Genotype(normal=[('sep_conv_3x3', 0), ('skip_connect', 1), ('sep_conv_3x3', 0), ('skip_connect', 1), ('sep_conv_3x3', 0), ('sep_conv_5x5', 3), ('sep_conv_5x5', 0), ('sep_conv_3x3', 1)], normal_concat=range(2, 6), reduce=[('avg_pool_3x3', 0), ('sep_conv_3x3', 1), ('avg_pool_3x3', 0), ('dil_conv_3x3', 2), ('max_pool_3x3', 1), ('sep_conv_3x3', 3), ('sep_conv_5x5', 1), ('dil_conv_5x5', 4)], reduce_concat=range(2, 6))...

Full Screen

Full Screen

routing.py

Source:routing.py Github

copy

Full Screen

...12class Mapper(_Mapper):13 ''' This Mapper allows us to intercept the connect calls used by routes14 so that we can collect named routes and later use them to create links15 via some helper functions like build_nav(). '''16 def connect(self, *args, **kw):17 '''Connect a new route, storing any named routes for later.18 This custom connect() method wraps the standard connect() method,19 and additionally saves any named routes that are connected in a dict20 ckan.routing.named_routes, which ends up being accessible via the21 Pylons config as config['routes.named_routes'].22 Also takes some additional params:23 :param ckan_icon: name of the icon to be associated with this route,24 e.g. 'group', 'time'. Available icons are listed here:25 http://fortawesome.github.io/Font-Awesome/3.2.1/icons/26 :type ckan_icon: string27 :param highlight_actions: space-separated list of controller actions28 that should be treated as the same as this named route for menu29 highlighting purposes, e.g. 'index search'30 :type highlight_actions: string31 '''32 ckan_icon = kw.pop('ckan_icon', None)33 highlight_actions = kw.pop('highlight_actions', kw.get('action', ''))34 ckan_core = kw.pop('ckan_core', None)35 out = _Mapper.connect(self, *args, **kw)36 route = self.matchlist[-1]37 if ckan_core is not None:38 route._ckan_core = ckan_core39 if len(args) == 1 or args[0].startswith('_redirect_'):40 return out41 # we have a named route42 needed = []43 matches = re.findall('\{([^:}]*)(\}|:)', args[1])44 for match in matches:45 needed.append(match[0])46 route_data = {47 'icon': ckan_icon,48 # needed lists the names of the parameters that need defining49 # for the route to be generated50 'needed': needed,51 'controller': kw.get('controller'),52 'action': kw.get('action', ''),53 'highlight_actions': highlight_actions54 }55 named_routes[args[0]] = route_data56 return out57def make_map():58 """Create, configure and return the routes Mapper"""59 # import controllers here rather than at root level because60 # pylons config is initialised by this point.61 # Helpers to reduce code clutter62 GET = dict(method=['GET'])63 PUT = dict(method=['PUT'])64 POST = dict(method=['POST'])65 DELETE = dict(method=['DELETE'])66 GET_POST = dict(method=['GET', 'POST'])67 PUT_POST = dict(method=['PUT', 'POST'])68 PUT_POST_DELETE = dict(method=['PUT', 'POST', 'DELETE'])69 OPTIONS = dict(method=['OPTIONS'])70 import ckan.lib.plugins as lib_plugins71 lib_plugins.reset_package_plugins()72 map = Mapper(directory=config['pylons.paths']['controllers'],73 always_scan=config['debug'])74 map.minimization = False75 map.explicit = True76 # CUSTOM ROUTES HERE77 for plugin in p.PluginImplementations(p.IRoutes):78 map = plugin.before_map(map)79 # The ErrorController route (handles 404/500 error pages); it should80 # likely stay at the top, ensuring it can always be resolved.81 map.connect('/error/{action}', controller='error', ckan_core=True)82 map.connect('/error/{action}/{id}', controller='error', ckan_core=True)83 map.connect('*url', controller='home', action='cors_options',84 conditions=OPTIONS, ckan_core=True)85 # Mark all routes added from extensions on the `before_map` extension point86 # as non-core87 for route in map.matchlist:88 if not hasattr(route, '_ckan_core'):89 route._ckan_core = False90 # CKAN API versioned.91 register_list = [92 'package',93 'dataset',94 'resource',95 'tag',96 'group',97 'revision',98 'licenses',99 'rating',100 'user',101 'activity'102 ]103 register_list_str = '|'.join(register_list)104 # /api ver 1, 2, 3 or none105 with SubMapper(map, controller='api', path_prefix='/api{ver:/1|/2|/3|}',106 ver='/1') as m:107 m.connect('/search/{register}', action='search')108 # /api/util ver 1, 2 or none109 with SubMapper(map, controller='api', path_prefix='/api{ver:/1|/2|}',110 ver='/1') as m:111 m.connect('/util/dataset/munge_name', action='munge_package_name')112 m.connect('/util/dataset/munge_title_to_name',113 action='munge_title_to_package_name')114 m.connect('/util/tag/munge', action='munge_tag')115 ###########116 ## /END API117 ###########118 map.redirect('/packages', '/dataset')119 map.redirect('/packages/{url:.*}', '/dataset/{url}')120 map.redirect('/package', '/dataset')121 map.redirect('/package/{url:.*}', '/dataset/{url}')122 with SubMapper(map, controller='package') as m:123 m.connect('search', '/dataset', action='search',124 highlight_actions='index search')125 m.connect('dataset_new', '/dataset/new', action='new')126 m.connect('/dataset/{action}',127 requirements=dict(action='|'.join([128 'list',129 'autocomplete',130 'search'131 ])))132 m.connect('/dataset/{action}/{id}/{revision}', action='read_ajax',133 requirements=dict(action='|'.join([134 'read',135 'edit',136 'history',137 ])))138 m.connect('/dataset/{action}/{id}',139 requirements=dict(action='|'.join([140 'new_resource',141 'history',142 'read_ajax',143 'history_ajax',144 'follow',145 'activity',146 'groups',147 'unfollow',148 'delete',149 'api_data',150 ])))151 m.connect('dataset_edit', '/dataset/edit/{id}', action='edit',152 ckan_icon='pencil-square-o')153 m.connect('dataset_followers', '/dataset/followers/{id}',154 action='followers', ckan_icon='users')155 m.connect('dataset_activity', '/dataset/activity/{id}',156 action='activity', ckan_icon='clock-o')157 m.connect('/dataset/activity/{id}/{offset}', action='activity')158 m.connect('dataset_groups', '/dataset/groups/{id}',159 action='groups', ckan_icon='users')160 m.connect('dataset_resources', '/dataset/resources/{id}',161 action='resources', ckan_icon='bars')162 m.connect('dataset_read', '/dataset/{id}', action='read',163 ckan_icon='sitemap')164 m.connect('/dataset/{id}/resource/{resource_id}',165 action='resource_read')166 m.connect('/dataset/{id}/resource_delete/{resource_id}',167 action='resource_delete')168 m.connect('resource_edit', '/dataset/{id}/resource_edit/{resource_id}',169 action='resource_edit', ckan_icon='pencil-square-o')170 m.connect('/dataset/{id}/resource/{resource_id}/download',171 action='resource_download')172 m.connect('/dataset/{id}/resource/{resource_id}/download/{filename}',173 action='resource_download')174 m.connect('/dataset/{id}/resource/{resource_id}/embed',175 action='resource_embedded_dataviewer')176 m.connect('/dataset/{id}/resource/{resource_id}/viewer',177 action='resource_embedded_dataviewer', width="960",178 height="800")179 m.connect('/dataset/{id}/resource/{resource_id}/preview',180 action='resource_datapreview')181 m.connect('views', '/dataset/{id}/resource/{resource_id}/views',182 action='resource_views', ckan_icon='bars')183 m.connect('new_view', '/dataset/{id}/resource/{resource_id}/new_view',184 action='edit_view', ckan_icon='pencil-square-o')185 m.connect('edit_view',186 '/dataset/{id}/resource/{resource_id}/edit_view/{view_id}',187 action='edit_view', ckan_icon='pencil-square-o')188 m.connect('resource_view',189 '/dataset/{id}/resource/{resource_id}/view/{view_id}',190 action='resource_view')191 m.connect('/dataset/{id}/resource/{resource_id}/view/',192 action='resource_view')193 # group194 map.redirect('/groups', '/group')195 map.redirect('/groups/{url:.*}', '/group/{url}')196 # These named routes are used for custom group forms which will use the197 # names below based on the group.type ('group' is the default type)198 with SubMapper(map, controller='group') as m:199 m.connect('group_index', '/group', action='index',200 highlight_actions='index search')201 m.connect('group_list', '/group/list', action='list')202 m.connect('group_new', '/group/new', action='new')203 for action in [204 'edit',205 'delete',206 'member_new',207 'member_delete',208 'history',209 'followers',210 'follow',211 'unfollow',212 'admins',213 'activity',214 ]:215 m.connect('group_' + action,216 '/group/' + action + '/{id}',217 action=action)218 m.connect('group_about', '/group/about/{id}', action='about',219 ckan_icon='info-circle'),220 m.connect('group_edit', '/group/edit/{id}', action='edit',221 ckan_icon='pencil-square-o')222 m.connect('group_members', '/group/members/{id}', action='members',223 ckan_icon='users'),224 m.connect('group_activity', '/group/activity/{id}/{offset}',225 action='activity', ckan_icon='clock-o'),226 m.connect('group_read', '/group/{id}', action='read',227 ckan_icon='sitemap')228 # organizations these basically end up being the same as groups229 with SubMapper(map, controller='organization') as m:230 m.connect('organizations_index', '/organization', action='index')231 m.connect('organization_index', '/organization', action='index')232 m.connect('organization_new', '/organization/new', action='new')233 for action in [234 'delete',235 'admins',236 'member_new',237 'member_delete',238 'history']:239 m.connect('organization_' + action,240 '/organization/' + action + '/{id}',241 action=action)242 m.connect('organization_activity', '/organization/activity/{id}/{offset}',243 action='activity', ckan_icon='clock-o')244 m.connect('organization_read', '/organization/{id}', action='read')245 m.connect('organization_about', '/organization/about/{id}',246 action='about', ckan_icon='info-circle')247 m.connect('organization_read', '/organization/{id}', action='read',248 ckan_icon='sitemap')249 m.connect('organization_edit', '/organization/edit/{id}',250 action='edit', ckan_icon='pencil-square-o')251 m.connect('organization_members', '/organization/members/{id}',252 action='members', ckan_icon='users')253 m.connect('organization_bulk_process',254 '/organization/bulk_process/{id}',255 action='bulk_process', ckan_icon='sitemap')256 lib_plugins.register_package_plugins(map)257 lib_plugins.register_group_plugins(map)258 # tags259 map.redirect('/tags', '/tag')260 map.redirect('/tags/{url:.*}', '/tag/{url}')261 map.redirect('/tag/read/{url:.*}', '/tag/{url}',262 _redirect_code='301 Moved Permanently')263 map.connect('/tag', controller='tag', action='index')264 map.connect('/tag/{id}', controller='tag', action='read')265 # users266 map.redirect('/users/{url:.*}', '/user/{url}')267 with SubMapper(map, controller='revision') as m:268 m.connect('/revision', action='index')269 m.connect('/revision/edit/{id}', action='edit')270 m.connect('/revision/diff/{id}', action='diff')271 m.connect('/revision/list', action='list')272 m.connect('/revision/{id}', action='read')273 with SubMapper(map, controller='ckan.controllers.storage:StorageController') as m:274 m.connect('storage_file', '/storage/f/{label:.*}',275 action='file')276 with SubMapper(map, controller='util') as m:277 m.connect('/i18n/strings_{lang}.js', action='i18n_js_strings')278 m.connect('/util/redirect', action='redirect')279 m.connect('/testing/primer', action='primer')280 m.connect('/testing/markup', action='markup')281 # robots.txt282 map.connect('/(robots.txt)', controller='template', action='view')283 # Mark all unmarked routes added up until now as core routes284 for route in map.matchlist:285 if not hasattr(route, '_ckan_core'):286 route._ckan_core = True287 for plugin in p.PluginImplementations(p.IRoutes):288 map = plugin.after_map(map)289 # Mark all routes added from extensions on the `after_map` extension point290 # as non-core291 for route in map.matchlist:292 if not hasattr(route, '_ckan_core'):293 route._ckan_core = False294 # sometimes we get requests for favicon.ico we should redirect to295 # the real favicon location.296 map.redirect('/favicon.ico', config.get('ckan.favicon'))297 map.redirect('/*(url)/', '/{url}',298 _redirect_code='301 Moved Permanently')299 map.connect('/*url', controller='template', action='view', ckan_core=True)...

Full Screen

Full Screen

test_protocol.py

Source:test_protocol.py Github

copy

Full Screen

...12from twisted.trial.unittest import TestCase13from twisted.test.proto_helpers import MemoryReactor, StringTransport14class MemoryConnector:15 _disconnected = False16 def disconnect(self):17 self._disconnected = True18class MemoryReactorWithConnectorsAndTime(MemoryReactor, Clock):19 """20 An extension of L{MemoryReactor} which returns L{IConnector}21 providers from its C{connectTCP} method.22 """23 def __init__(self):24 MemoryReactor.__init__(self)25 Clock.__init__(self)26 self.connectors = []27 def connectTCP(self, *a, **kw):28 MemoryReactor.connectTCP(self, *a, **kw)29 connector = MemoryConnector()30 self.connectors.append(connector)31 return connector32 def connectUNIX(self, *a, **kw):33 MemoryReactor.connectUNIX(self, *a, **kw)34 connector = MemoryConnector()35 self.connectors.append(connector)36 return connector37 def connectSSL(self, *a, **kw):38 MemoryReactor.connectSSL(self, *a, **kw)39 connector = MemoryConnector()40 self.connectors.append(connector)41 return connector42class ClientCreatorTests(TestCase):43 """44 Tests for L{twisted.internet.protocol.ClientCreator}.45 """46 def _basicConnectTest(self, check):47 """48 Helper for implementing a test to verify that one of the I{connect}49 methods of L{ClientCreator} passes the right arguments to the right50 reactor method.51 @param check: A function which will be invoked with a reactor and a52 L{ClientCreator} instance and which should call one of the53 L{ClientCreator}'s I{connect} methods and assert that all of its54 arguments except for the factory are passed on as expected to the55 reactor. The factory should be returned.56 """57 class SomeProtocol(Protocol):58 pass59 reactor = MemoryReactorWithConnectorsAndTime()60 cc = ClientCreator(reactor, SomeProtocol)61 factory = check(reactor, cc)62 protocol = factory.buildProtocol(None)63 self.assertIsInstance(protocol, SomeProtocol)64 def test_connectTCP(self):65 """66 L{ClientCreator.connectTCP} calls C{reactor.connectTCP} with the host67 and port information passed to it, and with a factory which will68 construct the protocol passed to L{ClientCreator.__init__}.69 """70 def check(reactor, cc):71 cc.connectTCP('example.com', 1234, 4321, ('1.2.3.4', 9876))72 host, port, factory, timeout, bindAddress = reactor.tcpClients.pop()73 self.assertEqual(host, 'example.com')74 self.assertEqual(port, 1234)75 self.assertEqual(timeout, 4321)76 self.assertEqual(bindAddress, ('1.2.3.4', 9876))77 return factory78 self._basicConnectTest(check)79 def test_connectUNIX(self):80 """81 L{ClientCreator.connectUNIX} calls C{reactor.connectUNIX} with the82 filename passed to it, and with a factory which will construct the83 protocol passed to L{ClientCreator.__init__}.84 """85 def check(reactor, cc):86 cc.connectUNIX('/foo/bar', 123, True)87 address, factory, timeout, checkPID = reactor.unixClients.pop()88 self.assertEqual(address, '/foo/bar')89 self.assertEqual(timeout, 123)90 self.assertEqual(checkPID, True)91 return factory92 self._basicConnectTest(check)93 def test_connectSSL(self):94 """95 L{ClientCreator.connectSSL} calls C{reactor.connectSSL} with the host,96 port, and context factory passed to it, and with a factory which will97 construct the protocol passed to L{ClientCreator.__init__}.98 """99 def check(reactor, cc):100 expectedContextFactory = object()101 cc.connectSSL('example.com', 1234, expectedContextFactory, 4321, ('4.3.2.1', 5678))102 host, port, factory, contextFactory, timeout, bindAddress = reactor.sslClients.pop()103 self.assertEqual(host, 'example.com')104 self.assertEqual(port, 1234)105 self.assertIdentical(contextFactory, expectedContextFactory)106 self.assertEqual(timeout, 4321)107 self.assertEqual(bindAddress, ('4.3.2.1', 5678))108 return factory109 self._basicConnectTest(check)110 def _cancelConnectTest(self, connect):111 """112 Helper for implementing a test to verify that cancellation of the113 L{Deferred} returned by one of L{ClientCreator}'s I{connect} methods is114 implemented to cancel the underlying connector.115 @param connect: A function which will be invoked with a L{ClientCreator}116 instance as an argument and which should call one its I{connect}117 methods and return the result.118 @return: A L{Deferred} which fires when the test is complete or fails if119 there is a problem.120 """121 reactor = MemoryReactorWithConnectorsAndTime()122 cc = ClientCreator(reactor, Protocol)123 d = connect(cc)124 connector = reactor.connectors.pop()125 self.assertFalse(connector._disconnected)126 d.cancel()127 self.assertTrue(connector._disconnected)128 return self.assertFailure(d, CancelledError)129 def test_cancelConnectTCP(self):130 """131 The L{Deferred} returned by L{ClientCreator.connectTCP} can be cancelled132 to abort the connection attempt before it completes.133 """134 def connect(cc):135 return cc.connectTCP('example.com', 1234)136 return self._cancelConnectTest(connect)137 def test_cancelConnectUNIX(self):138 """139 The L{Deferred} returned by L{ClientCreator.connectTCP} can be cancelled140 to abort the connection attempt before it completes.141 """142 def connect(cc):143 return cc.connectUNIX('/foo/bar')144 return self._cancelConnectTest(connect)145 def test_cancelConnectSSL(self):146 """147 The L{Deferred} returned by L{ClientCreator.connectTCP} can be cancelled148 to abort the connection attempt before it completes.149 """150 def connect(cc):151 return cc.connectSSL('example.com', 1234, object())152 return self._cancelConnectTest(connect)153 def _cancelConnectTimeoutTest(self, connect):154 """155 Like L{_cancelConnectTest}, but for the case where the L{Deferred} is156 cancelled after the connection is set up but before it is fired with the157 resulting protocol instance.158 """159 reactor = MemoryReactorWithConnectorsAndTime()160 cc = ClientCreator(reactor, Protocol)161 d = connect(reactor, cc)162 connector = reactor.connectors.pop()163 # Sanity check - there is an outstanding delayed call to fire the164 # Deferred.165 self.assertEqual(len(reactor.getDelayedCalls()), 1)166 # Cancel the Deferred, disconnecting the transport just set up and167 # cancelling the delayed call.168 d.cancel()169 self.assertEqual(reactor.getDelayedCalls(), [])170 # A real connector implementation is responsible for disconnecting the171 # transport as well. For our purposes, just check that someone told the172 # connector to disconnect.173 self.assertTrue(connector._disconnected)174 return self.assertFailure(d, CancelledError)175 def test_cancelConnectTCPTimeout(self):176 """177 L{ClientCreator.connectTCP} inserts a very short delayed call between178 the time the connection is established and the time the L{Deferred}179 returned from one of its connect methods actually fires. If the180 L{Deferred} is cancelled in this interval, the established connection is181 closed, the timeout is cancelled, and the L{Deferred} fails with182 L{CancelledError}.183 """184 def connect(reactor, cc):185 d = cc.connectTCP('example.com', 1234)186 host, port, factory, timeout, bindAddress = reactor.tcpClients.pop()187 protocol = factory.buildProtocol(None)188 transport = StringTransport()189 protocol.makeConnection(transport)190 return d191 return self._cancelConnectTimeoutTest(connect)192 def test_cancelConnectUNIXTimeout(self):193 """194 L{ClientCreator.connectUNIX} inserts a very short delayed call between195 the time the connection is established and the time the L{Deferred}196 returned from one of its connect methods actually fires. If the197 L{Deferred} is cancelled in this interval, the established connection is198 closed, the timeout is cancelled, and the L{Deferred} fails with199 L{CancelledError}.200 """201 def connect(reactor, cc):202 d = cc.connectUNIX('/foo/bar')203 address, factory, timeout, bindAddress = reactor.unixClients.pop()204 protocol = factory.buildProtocol(None)205 transport = StringTransport()206 protocol.makeConnection(transport)207 return d208 return self._cancelConnectTimeoutTest(connect)209 def test_cancelConnectSSLTimeout(self):210 """211 L{ClientCreator.connectSSL} inserts a very short delayed call between212 the time the connection is established and the time the L{Deferred}213 returned from one of its connect methods actually fires. If the214 L{Deferred} is cancelled in this interval, the established connection is215 closed, the timeout is cancelled, and the L{Deferred} fails with216 L{CancelledError}.217 """218 def connect(reactor, cc):219 d = cc.connectSSL('example.com', 1234, object())220 host, port, factory, contextFactory, timeout, bindADdress = reactor.sslClients.pop()221 protocol = factory.buildProtocol(None)222 transport = StringTransport()223 protocol.makeConnection(transport)224 return d225 return self._cancelConnectTimeoutTest(connect)226 def _cancelConnectFailedTimeoutTest(self, connect):227 """228 Like L{_cancelConnectTest}, but for the case where the L{Deferred} is229 cancelled after the connection attempt has failed but before it is fired230 with the resulting failure.231 """232 reactor = MemoryReactorWithConnectorsAndTime()233 cc = ClientCreator(reactor, Protocol)234 d, factory = connect(reactor, cc)235 connector = reactor.connectors.pop()236 factory.clientConnectionFailed(237 connector, Failure(Exception("Simulated failure")))238 # Sanity check - there is an outstanding delayed call to fire the239 # Deferred.240 self.assertEqual(len(reactor.getDelayedCalls()), 1)241 # Cancel the Deferred, cancelling the delayed call.242 d.cancel()243 self.assertEqual(reactor.getDelayedCalls(), [])244 return self.assertFailure(d, CancelledError)245 def test_cancelConnectTCPFailedTimeout(self):246 """247 Similar to L{test_cancelConnectTCPTimeout}, but for the case where the248 connection attempt fails.249 """250 def connect(reactor, cc):251 d = cc.connectTCP('example.com', 1234)252 host, port, factory, timeout, bindAddress = reactor.tcpClients.pop()253 return d, factory254 return self._cancelConnectFailedTimeoutTest(connect)255 def test_cancelConnectUNIXFailedTimeout(self):256 """257 Similar to L{test_cancelConnectUNIXTimeout}, but for the case where the258 connection attempt fails.259 """260 def connect(reactor, cc):261 d = cc.connectUNIX('/foo/bar')262 address, factory, timeout, bindAddress = reactor.unixClients.pop()263 return d, factory264 return self._cancelConnectFailedTimeoutTest(connect)265 def test_cancelConnectSSLFailedTimeout(self):266 """267 Similar to L{test_cancelConnectSSLTimeout}, but for the case where the268 connection attempt fails.269 """270 def connect(reactor, cc):271 d = cc.connectSSL('example.com', 1234, object())272 host, port, factory, contextFactory, timeout, bindADdress = reactor.sslClients.pop()273 return d, factory274 return self._cancelConnectFailedTimeoutTest(connect)275class ProtocolTests(TestCase):276 """277 Tests for L{twisted.internet.protocol.Protocol}.278 """279 def test_interfaces(self):280 """281 L{Protocol} instances provide L{IProtocol} and L{ILoggingContext}.282 """283 proto = Protocol()284 self.assertTrue(verifyObject(IProtocol, proto))...

Full Screen

Full Screen

test_sa_connection.py

Source:test_sa_connection.py Github

copy

Full Screen

...10 Column('id', Integer, nullable=False,11 primary_key=True),12 Column('name', String(255)))13@pytest.fixture()14def sa_connect(connection_creator):15 async def connect(**kwargs):16 conn = await connection_creator(**kwargs)17 await conn.autocommit(True)18 cur = await conn.cursor()19 await cur.execute("DROP TABLE IF EXISTS sa_tbl")20 await cur.execute("CREATE TABLE sa_tbl "21 "(id serial, name varchar(255))")22 await cur.execute("INSERT INTO sa_tbl (name)"23 "VALUES ('first')")24 await cur._connection.commit()25 # yield from cur.close()26 engine = mock.Mock()27 engine.dialect = sa.engine._dialect28 return sa.SAConnection(conn, engine)29 return connect30@pytest.mark.run_loop31async def test_execute_text_select(sa_connect):32 conn = await sa_connect()33 res = await conn.execute("SELECT * FROM sa_tbl;")34 assert isinstance(res.cursor, Cursor)35 assert ('id', 'name') == res.keys()36 rows = await res.fetchall()37 assert res.closed38 assert res.cursor is None39 assert 1 == len(rows)40 row = rows[0]41 assert 1 == row[0]42 assert 1 == row['id']43 assert 1 == row.id44 assert 'first' == row[1]45 assert 'first' == row['name']46 assert 'first' == row.name47 # TODO: fix this48 await conn._connection.commit()49@pytest.mark.run_loop50async def test_execute_sa_select(sa_connect):51 conn = await sa_connect()52 res = await conn.execute(tbl.select())53 assert isinstance(res.cursor, Cursor)54 assert ('id', 'name') == res.keys()55 rows = await res.fetchall()56 assert res.closed57 assert res.cursor is None58 assert res.returns_rows59 assert 1 == len(rows)60 row = rows[0]61 assert 1 == row[0]62 assert 1 == row['id']63 assert 1 == row.id64 assert 'first' == row[1]65 assert 'first' == row['name']66 assert 'first' == row.name67 # TODO: fix this68 await conn._connection.commit()69@pytest.mark.run_loop70async def test_execute_sa_insert_with_dict(sa_connect):71 conn = await sa_connect()72 await conn.execute(tbl.insert(), {"id": 2, "name": "second"})73 res = await conn.execute(tbl.select())74 rows = await res.fetchall()75 assert 2 == len(rows)76 assert (1, 'first') == rows[0]77 assert (2, 'second') == rows[1]78@pytest.mark.run_loop79async def test_execute_sa_insert_with_tuple(sa_connect):80 conn = await sa_connect()81 await conn.execute(tbl.insert(), (2, "second"))82 res = await conn.execute(tbl.select())83 rows = await res.fetchall()84 assert 2 == len(rows)85 assert (1, 'first') == rows[0]86 assert (2, 'second') == rows[1]87@pytest.mark.run_loop88async def test_execute_sa_insert_named_params(sa_connect):89 conn = await sa_connect()90 await conn.execute(tbl.insert(), id=2, name="second")91 res = await conn.execute(tbl.select())92 rows = await res.fetchall()93 assert 2 == len(rows)94 assert (1, 'first') == rows[0]95 assert (2, 'second') == rows[1]96@pytest.mark.run_loop97async def test_execute_sa_insert_positional_params(sa_connect):98 conn = await sa_connect()99 await conn.execute(tbl.insert(), 2, "second")100 res = await conn.execute(tbl.select())101 rows = await res.fetchall()102 assert 2 == len(rows)103 assert (1, 'first') == rows[0]104 assert (2, 'second') == rows[1]105@pytest.mark.run_loop106async def test_scalar(sa_connect):107 conn = await sa_connect()108 res = await conn.scalar(tbl.count())109 assert 1 == res110@pytest.mark.run_loop111async def test_scalar_None(sa_connect):112 conn = await sa_connect()113 await conn.execute(tbl.delete())114 res = await conn.scalar(tbl.select())115 assert res is None116 # TODO: fix this117 await conn._connection.commit()118@pytest.mark.run_loop119async def test_row_proxy(sa_connect):120 conn = await sa_connect()121 res = await conn.execute(tbl.select())122 rows = await res.fetchall()123 row = rows[0]124 row2 = await (await conn.execute(tbl.select())).first()125 assert 2 == len(row)126 assert ['id', 'name'] == list(row)127 assert 'id' in row128 assert 'unknown' not in row129 assert 'first' == row.name130 assert 'first' == row[tbl.c.name]131 with pytest.raises(AttributeError):132 row.unknown133 assert "(1, 'first')" == repr(row)134 assert (1, 'first') == row.as_tuple()135 assert (555, 'other') != row.as_tuple()136 assert row2 == row137 assert 5 != row138 # TODO: fix this139 await conn._connection.commit()140@pytest.mark.run_loop141async def test_insert(sa_connect):142 conn = await sa_connect()143 res = await conn.execute(tbl.insert().values(name='second'))144 assert 1 == res.rowcount145 assert 2 == res.lastrowid146@pytest.mark.run_loop147async def test_raw_insert(sa_connect):148 conn = await sa_connect()149 await conn.execute(150 "INSERT INTO sa_tbl (name) VALUES ('third')")151 res = await conn.execute(tbl.select())152 assert 2 == res.rowcount153 assert ('id', 'name') == res.keys()154 assert res.returns_rows155 rows = await res.fetchall()156 assert 2 == len(rows)157 assert 2 == rows[1].id158@pytest.mark.run_loop159async def test_raw_insert_with_params(sa_connect):160 conn = await sa_connect()161 res = await conn.execute(162 "INSERT INTO sa_tbl (id, name) VALUES (%s, %s)",163 2, 'third')164 res = await conn.execute(tbl.select())165 assert 2 == res.rowcount166 assert ('id', 'name') == res.keys()167 assert res.returns_rows168 rows = await res.fetchall()169 assert 2 == len(rows)170 assert 2 == rows[1].id171@pytest.mark.run_loop172async def test_raw_insert_with_params_dict(sa_connect):173 conn = await sa_connect()174 res = await conn.execute(175 "INSERT INTO sa_tbl (id, name) VALUES (%(id)s, %(name)s)",176 {'id': 2, 'name': 'third'})177 res = await conn.execute(tbl.select())178 assert 2 == res.rowcount179 assert ('id', 'name') == res.keys()180 assert res.returns_rows181 rows = await res.fetchall()182 assert 2 == len(rows)183 assert 2 == rows[1].id184@pytest.mark.run_loop185async def test_raw_insert_with_named_params(sa_connect):186 conn = await sa_connect()187 res = await conn.execute(188 "INSERT INTO sa_tbl (id, name) VALUES (%(id)s, %(name)s)",189 id=2, name='third')190 res = await conn.execute(tbl.select())191 assert 2 == res.rowcount192 assert ('id', 'name') == res.keys()193 assert res.returns_rows194 rows = await res.fetchall()195 assert 2 == len(rows)196 assert 2 == rows[1].id197@pytest.mark.run_loop198async def test_raw_insert_with_executemany(sa_connect):199 conn = await sa_connect()200 # with pytest.raises(sa.ArgumentError):201 await conn.execute(202 "INSERT INTO sa_tbl (id, name) VALUES (%(id)s, %(name)s)",203 [{"id": 2, "name": 'third'}, {"id": 3, "name": 'forth'}])204 await conn.execute(205 tbl.update().where(206 tbl.c.id == bindparam("id")207 ).values(208 {"name": bindparam("name")}209 ),210 [211 {"id": 2, "name": "t2"},212 {"id": 3, "name": "t3"}213 ]214 )215 with pytest.raises(sa.ArgumentError):216 await conn.execute(217 DropTable(tbl),218 [{}, {}]219 )220 with pytest.raises(sa.ArgumentError):221 await conn.execute(222 {},223 [{}, {}]224 )225@pytest.mark.run_loop226async def test_raw_select_with_wildcard(sa_connect):227 conn = await sa_connect()228 await conn.execute(229 'SELECT * FROM sa_tbl WHERE name LIKE "%test%"')230@pytest.mark.run_loop231async def test_delete(sa_connect):232 conn = await sa_connect()233 res = await conn.execute(tbl.delete().where(tbl.c.id == 1))234 assert () == res.keys()235 assert 1 == res.rowcount236 assert not res.returns_rows237 assert res.closed238 assert res.cursor is None239@pytest.mark.run_loop240async def test_double_close(sa_connect):241 conn = await sa_connect()242 res = await conn.execute("SELECT 1")243 await res.close()244 assert res.closed245 assert res.cursor is None246 await res.close()247 assert res.closed248 assert res.cursor is None249@pytest.mark.run_loop250@pytest.mark.skip("Find out how to close cursor on __del__ method")251async def test_weakrefs(sa_connect):252 conn = await sa_connect()253 assert 0 == len(conn._weak_results)254 res = await conn.execute("SELECT 1")255 assert 1 == len(conn._weak_results)256 cur = res.cursor257 assert not cur.closed258 # TODO: fix this, how close cursor if result was deleted259 # yield from cur.close()260 del res261 assert cur.closed262 assert 0 == len(conn._weak_results)263@pytest.mark.run_loop264async def test_fetchall(sa_connect):265 conn = await sa_connect()266 await conn.execute(tbl.insert().values(name='second'))267 res = await conn.execute(tbl.select())268 rows = await res.fetchall()269 assert 2 == len(rows)270 assert res.closed271 assert res.returns_rows272 assert [(1, 'first'), (2, 'second')] == rows273@pytest.mark.run_loop274async def test_fetchall_closed(sa_connect):275 conn = await sa_connect()276 await conn.execute(tbl.insert().values(name='second'))277 res = await conn.execute(tbl.select())278 await res.close()279 with pytest.raises(sa.ResourceClosedError):280 await res.fetchall()281@pytest.mark.run_loop282async def test_fetchall_not_returns_rows(sa_connect):283 conn = await sa_connect()284 res = await conn.execute(tbl.delete())285 with pytest.raises(sa.ResourceClosedError):286 await res.fetchall()287@pytest.mark.run_loop288async def test_fetchone_closed(sa_connect):289 conn = await sa_connect()290 await conn.execute(tbl.insert().values(name='second'))291 res = await conn.execute(tbl.select())292 await res.close()293 with pytest.raises(sa.ResourceClosedError):294 await res.fetchone()295@pytest.mark.run_loop296async def test_first_not_returns_rows(sa_connect):297 conn = await sa_connect()298 res = await conn.execute(tbl.delete())299 with pytest.raises(sa.ResourceClosedError):300 await res.first()301@pytest.mark.run_loop302async def test_fetchmany(sa_connect):303 conn = await sa_connect()304 await conn.execute(tbl.insert().values(name='second'))305 res = await conn.execute(tbl.select())306 rows = await res.fetchmany()307 assert 1 == len(rows)308 assert not res.closed309 assert res.returns_rows310 assert [(1, 'first')] == rows311@pytest.mark.run_loop312async def test_fetchmany_with_size(sa_connect):313 conn = await sa_connect()314 await conn.execute(tbl.insert().values(name='second'))315 res = await conn.execute(tbl.select())316 rows = await res.fetchmany(100)317 assert 2 == len(rows)318 assert not res.closed319 assert res.returns_rows320 assert [(1, 'first'), (2, 'second')] == rows321@pytest.mark.run_loop322async def test_fetchmany_closed(sa_connect):323 conn = await sa_connect()324 await conn.execute(tbl.insert().values(name='second'))325 res = await conn.execute(tbl.select())326 await res.close()327 with pytest.raises(sa.ResourceClosedError):328 await res.fetchmany()329@pytest.mark.run_loop330async def test_fetchmany_with_size_closed(sa_connect):331 conn = await sa_connect()332 await conn.execute(tbl.insert().values(name='second'))333 res = await conn.execute(tbl.select())334 await res.close()335 with pytest.raises(sa.ResourceClosedError):336 await res.fetchmany(5555)337@pytest.mark.run_loop338async def test_fetchmany_not_returns_rows(sa_connect):339 conn = await sa_connect()340 res = await conn.execute(tbl.delete())341 with pytest.raises(sa.ResourceClosedError):342 await res.fetchmany()343@pytest.mark.run_loop344async def test_fetchmany_close_after_last_read(sa_connect):345 conn = await sa_connect()346 res = await conn.execute(tbl.select())347 rows = await res.fetchmany()348 assert 1 == len(rows)349 assert not res.closed350 assert res.returns_rows351 assert [(1, 'first')] == rows352 rows2 = await res.fetchmany()353 assert 0 == len(rows2)354 assert res.closed355@pytest.mark.run_loop356async def test_create_table(sa_connect):357 conn = await sa_connect()358 res = await conn.execute(DropTable(tbl))359 with pytest.raises(sa.ResourceClosedError):360 await res.fetchmany()361 with pytest.raises(aiomysql.ProgrammingError):362 await conn.execute("SELECT * FROM sa_tbl")363 res = await conn.execute(CreateTable(tbl))364 with pytest.raises(sa.ResourceClosedError):365 await res.fetchmany()366 res = await conn.execute("SELECT * FROM sa_tbl")...

Full Screen

Full Screen

tcpclient_test.py

Source:tcpclient_test.py Github

copy

Full Screen

...65 families = set(addr[0] for addr in addrinfo)66 if socket.AF_INET6 not in families:67 self.skipTest("localhost does not resolve to ipv6")68 @gen_test69 def do_test_connect(self, family, host):70 port = self.start_server(family)71 stream = yield self.client.connect(host, port)72 with closing(stream):73 stream.write(b"hello")74 data = yield self.server.streams[0].read_bytes(5)75 self.assertEqual(data, b"hello")76 def test_connect_ipv4_ipv4(self):77 self.do_test_connect(socket.AF_INET, '127.0.0.1')78 def test_connect_ipv4_dual(self):79 self.do_test_connect(socket.AF_INET, 'localhost')80 @skipIfNoIPv681 def test_connect_ipv6_ipv6(self):82 self.skipIfLocalhostV4()83 self.do_test_connect(socket.AF_INET6, '::1')84 @skipIfNoIPv685 def test_connect_ipv6_dual(self):86 self.skipIfLocalhostV4()87 if Resolver.configured_class().__name__.endswith('TwistedResolver'):88 self.skipTest('TwistedResolver does not support multiple addresses')89 self.do_test_connect(socket.AF_INET6, 'localhost')90 def test_connect_unspec_ipv4(self):91 self.do_test_connect(socket.AF_UNSPEC, '127.0.0.1')92 @skipIfNoIPv693 def test_connect_unspec_ipv6(self):94 self.skipIfLocalhostV4()95 self.do_test_connect(socket.AF_UNSPEC, '::1')96 def test_connect_unspec_dual(self):97 self.do_test_connect(socket.AF_UNSPEC, 'localhost')98 @gen_test99 def test_refused_ipv4(self):100 cleanup_func, port = refusing_port()101 self.addCleanup(cleanup_func)102 with self.assertRaises(IOError):103 yield self.client.connect('127.0.0.1', port)104class TestConnectorSplit(unittest.TestCase):105 def test_one_family(self):106 # These addresses aren't in the right format, but split doesn't care.107 primary, secondary = _Connector.split(108 [(AF1, 'a'),109 (AF1, 'b')])110 self.assertEqual(primary, [(AF1, 'a'),111 (AF1, 'b')])112 self.assertEqual(secondary, [])113 def test_mixed(self):114 primary, secondary = _Connector.split(115 [(AF1, 'a'),116 (AF2, 'b'),117 (AF1, 'c'),118 (AF2, 'd')])119 self.assertEqual(primary, [(AF1, 'a'), (AF1, 'c')])120 self.assertEqual(secondary, [(AF2, 'b'), (AF2, 'd')])121class ConnectorTest(AsyncTestCase):122 class FakeStream(object):123 def __init__(self):124 self.closed = False125 def close(self):126 self.closed = True127 def setUp(self):128 super(ConnectorTest, self).setUp()129 self.connect_futures = {}130 self.streams = {}131 self.addrinfo = [(AF1, 'a'), (AF1, 'b'),132 (AF2, 'c'), (AF2, 'd')]133 def tearDown(self):134 # Unless explicitly checked (and popped) in the test, we shouldn't135 # be closing any streams136 for stream in self.streams.values():137 self.assertFalse(stream.closed)138 super(ConnectorTest, self).tearDown()139 def create_stream(self, af, addr):140 future = Future()141 self.connect_futures[(af, addr)] = future142 return future143 def assert_pending(self, *keys):144 self.assertEqual(sorted(self.connect_futures.keys()), sorted(keys))145 def resolve_connect(self, af, addr, success):146 future = self.connect_futures.pop((af, addr))147 if success:148 self.streams[addr] = ConnectorTest.FakeStream()149 future.set_result(self.streams[addr])150 else:151 future.set_exception(IOError())152 def start_connect(self, addrinfo):153 conn = _Connector(addrinfo, self.io_loop, self.create_stream)154 # Give it a huge timeout; we'll trigger timeouts manually.155 future = conn.start(3600)156 return conn, future157 def test_immediate_success(self):158 conn, future = self.start_connect(self.addrinfo)159 self.assertEqual(list(self.connect_futures.keys()),160 [(AF1, 'a')])161 self.resolve_connect(AF1, 'a', True)162 self.assertEqual(future.result(), (AF1, 'a', self.streams['a']))163 def test_immediate_failure(self):164 # Fail with just one address.165 conn, future = self.start_connect([(AF1, 'a')])166 self.assert_pending((AF1, 'a'))167 self.resolve_connect(AF1, 'a', False)168 self.assertRaises(IOError, future.result)169 def test_one_family_second_try(self):170 conn, future = self.start_connect([(AF1, 'a'), (AF1, 'b')])171 self.assert_pending((AF1, 'a'))172 self.resolve_connect(AF1, 'a', False)173 self.assert_pending((AF1, 'b'))174 self.resolve_connect(AF1, 'b', True)175 self.assertEqual(future.result(), (AF1, 'b', self.streams['b']))176 def test_one_family_second_try_failure(self):177 conn, future = self.start_connect([(AF1, 'a'), (AF1, 'b')])178 self.assert_pending((AF1, 'a'))179 self.resolve_connect(AF1, 'a', False)180 self.assert_pending((AF1, 'b'))181 self.resolve_connect(AF1, 'b', False)182 self.assertRaises(IOError, future.result)183 def test_one_family_second_try_timeout(self):184 conn, future = self.start_connect([(AF1, 'a'), (AF1, 'b')])185 self.assert_pending((AF1, 'a'))186 # trigger the timeout while the first lookup is pending;187 # nothing happens.188 conn.on_timeout()189 self.assert_pending((AF1, 'a'))190 self.resolve_connect(AF1, 'a', False)191 self.assert_pending((AF1, 'b'))192 self.resolve_connect(AF1, 'b', True)193 self.assertEqual(future.result(), (AF1, 'b', self.streams['b']))194 def test_two_families_immediate_failure(self):195 conn, future = self.start_connect(self.addrinfo)196 self.assert_pending((AF1, 'a'))197 self.resolve_connect(AF1, 'a', False)198 self.assert_pending((AF1, 'b'), (AF2, 'c'))199 self.resolve_connect(AF1, 'b', False)200 self.resolve_connect(AF2, 'c', True)201 self.assertEqual(future.result(), (AF2, 'c', self.streams['c']))202 def test_two_families_timeout(self):203 conn, future = self.start_connect(self.addrinfo)204 self.assert_pending((AF1, 'a'))205 conn.on_timeout()206 self.assert_pending((AF1, 'a'), (AF2, 'c'))207 self.resolve_connect(AF2, 'c', True)208 self.assertEqual(future.result(), (AF2, 'c', self.streams['c']))209 # resolving 'a' after the connection has completed doesn't start 'b'210 self.resolve_connect(AF1, 'a', False)211 self.assert_pending()212 def test_success_after_timeout(self):213 conn, future = self.start_connect(self.addrinfo)214 self.assert_pending((AF1, 'a'))215 conn.on_timeout()216 self.assert_pending((AF1, 'a'), (AF2, 'c'))217 self.resolve_connect(AF1, 'a', True)218 self.assertEqual(future.result(), (AF1, 'a', self.streams['a']))219 # resolving 'c' after completion closes the connection.220 self.resolve_connect(AF2, 'c', True)221 self.assertTrue(self.streams.pop('c').closed)222 def test_all_fail(self):223 conn, future = self.start_connect(self.addrinfo)224 self.assert_pending((AF1, 'a'))225 conn.on_timeout()226 self.assert_pending((AF1, 'a'), (AF2, 'c'))227 self.resolve_connect(AF2, 'c', False)228 self.assert_pending((AF1, 'a'), (AF2, 'd'))229 self.resolve_connect(AF2, 'd', False)230 # one queue is now empty231 self.assert_pending((AF1, 'a'))232 self.resolve_connect(AF1, 'a', False)233 self.assert_pending((AF1, 'b'))234 self.assertFalse(future.done())235 self.resolve_connect(AF1, 'b', False)...

Full Screen

Full Screen

connect_control.py

Source:connect_control.py Github

copy

Full Screen

...104connect_fail_time = 0105scan_allow_time = 0106block_delay = 5107scan_sleep_time = 600 # Need examination108def allow_connect():109 global connect_allow_time110 if time.time() < connect_allow_time:111 return False112 else:113 return True114def allow_scan():115 global scan_allow_time116 if not allow_connect:117 return False118 if time.time() < scan_allow_time:119 return False120 else:121 return True122def fall_into_honeypot():...

Full Screen

Full Screen

chromeos_wifi_compliance.py

Source:chromeos_wifi_compliance.py Github

copy

Full Screen

1#!/usr/bin/env python2# Copyright (c) 2011 The Chromium Authors. All rights reserved.3# Use of this source code is governed by a BSD-style license that can be4# found in the LICENSE file.5import pyauto_functional6import chromeos_network # pyauto_functional must come before chromeos_network7class ChromeosWifiCompliance(chromeos_network.PyNetworkUITest):8 """Tests for ChromeOS wifi complaince.9 These tests should be run within vacinity of the power strip where the wifi10 routers are attached.11 """12 def _BasicConnectRouterCompliance(self, router_name):13 """Generic basic test routine for connecting to a router.14 Args:15 router_name: The name of the router.16 """17 self.InitWifiPowerStrip()18 router = self.GetRouterConfig(router_name)19 self.RouterPower(router_name, True)20 # If the wifi network is expected to be invisible, the following21 # line should timeout which is expected.22 wifi_visible = self.WaitUntilWifiNetworkAvailable(router['ssid'],23 is_hidden=router.get('hidden'))24 # Note, we expect wifi_visible and 'hidden' status to be opposites.25 # The test fails if the network visibility is not as expected.26 if wifi_visible == router.get('hidden', False):27 self.fail('We expected wifi network "%s" to be %s, but it was not.' %28 (router['ssid'],29 {True: 'hidden', False: 'visible'}[router.get('hidden',30 False)]))31 # Verify connect did not have any errors.32 error = self.ConnectToWifiRouter(router_name)33 self.assertFalse(error, 'Failed to connect to wifi network %s. '34 'Reason: %s.' % (router['ssid'], error))35 # Verify the network we connected to.36 ssid = self.GetConnectedWifi()37 self.assertEqual(ssid, router['ssid'],38 'Did not successfully connect to wifi network %s.' % ssid)39 self.DisconnectFromWifiNetwork()40 def testConnectBelkinG(self):41 """Test connecting to the Belkin G router."""42 self._BasicConnectRouterCompliance('Belkin_G')43 def testConnectBelkinNPlus(self):44 """Test connecting to the Belkin N+ router."""45 self._BasicConnectRouterCompliance('Belkin_N+')46 def testConnectDLinkN150(self):47 """Test connecting to the D-Link N150 router."""48 self._BasicConnectRouterCompliance('D-Link_N150')49 def testConnectLinksysE3000(self):50 """Test connecting to the Linksys E3000 router.51 The LinksysE3000 supports broadcasting of up to 2 SSID's.52 This test will try connecting to each of them one at a time.53 """54 self._BasicConnectRouterCompliance('LinksysE3000')55 self._BasicConnectRouterCompliance('LinksysE3000_2')56 def testConnectLinksysWRT54G2(self):57 """Test connecting to the Linksys WRT54G2 router."""58 self._BasicConnectRouterCompliance('Linksys_WRT54G2')59 def testConnectLinksysWRT54GL(self):60 """Test connecting to the LinksysWRT54GL router."""61 self._BasicConnectRouterCompliance('Linksys_WRT54GL')62 def testConnectNetgearN300(self):63 """Test connecting to the Netgear N300 router."""64 self._BasicConnectRouterCompliance('Netgear_N300')65 def testConnectNetgearWGR614(self):66 """Test connecting to the Netgear WGR 614 router."""67 self._BasicConnectRouterCompliance('Netgear_WGR614')68 def testConnectNfiniti(self):69 """Test connecting to the Nfiniti router."""70 self._BasicConnectRouterCompliance('Nfiniti')71 def testConnectSMCWBR145(self):72 """Test connecting to the SMC WBR 145 router."""73 self._BasicConnectRouterCompliance('SMC_WBR145')74 def testConnectTrendnet_639gr(self):75 """Test connecting to the Trendnet 639gr router.76 The LinksysE3000 supports broadcasting of up to 4 SSID's.77 This test will try connecting to each of them one at a time.78 """79 self._BasicConnectRouterCompliance('Trendnet_639gr')80 self._BasicConnectRouterCompliance('Trendnet_639gr_2')81 self._BasicConnectRouterCompliance('Trendnet_639gr_3')82 self._BasicConnectRouterCompliance('Trendnet_639gr_4')83if __name__ == '__main__':...

Full Screen

Full Screen

connect_sql.py

Source:connect_sql.py Github

copy

Full Screen

1import pymysql2class ConnectSql(object):3 '''def connect_tuqiang_sql(self):4 # 连接图强的第一台数据库5 connect = pymysql.connect(6 host='120.24.75.214',7 port=3306,8 user='tuqiang_query',9 passwd='tuqiang_query',10 db='tracker-web',11 charset='utf8'12 )13 return connect14 def connect_tuqiang_form(self):15 # 链接图强在线第二台数据库,主要查报表、告警16 connect = pymysql.connect(17 host='119.23.127.137',18 port=8066,19 user='test',20 passwd='test@123',21 db='his',22 charset='utf8'23 )24 return connect25 '''26 def connect_tuqiang_sql(self):27 # 连接图强测试环境的第一台数据库28 connect = pymysql.connect(29 host='172.16.10.103',30 port=3306,31 user='root',32 passwd='123456',33 db='tracker-web',34 charset='utf8'35 )36 return connect37 def connect_tuqiang_form(self):38 # 链接图强在线第二台数据库,主要查报表、告警39 connect = pymysql.connect(40 host='172.16.10.105',41 port=8066,42 user='jimi',43 passwd='jimi',44 db='his',45 charset='utf8'46 )...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.connect({4 });5 const page = await browser.newPage();6 await browser.close();7})();

Full Screen

Using AI Code Generation

copy

Full Screen

1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.connect({4 });5 const context = await browser.newContext();6 const page = await context.newPage();7 await page.screenshot({ path: 'example.png' });8 await browser.close();9})();

Full Screen

Using AI Code Generation

copy

Full Screen

1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.connect({4 });5 const context = await browser.newContext();6 const page = await context.newPage();7 await page.screenshot({ path: 'example.png' });8 await browser.close();9})();10module.exports = {11 launchOptions: {12 },13 serverOptions: {14 },15};16const { devices } = require('playwright');17const browsers = ['chromium', 'firefox', 'webkit'];18module.exports = {19 devices: Object.keys(devices),20 serverOptions: {21 },22 launchOptions: {23 },24 contextOptions: {25 },26};27describe('Playwright', () => {28 it('should be able to launch a browser', async () => {29 await page.screenshot({ path: 'example.png' });30 });31});32module.exports = {

Full Screen

Using AI Code Generation

copy

Full Screen

1const playwright = require('playwright');2(async () => {3 const browser = await playwright.chromium.launch({4 });5 const context = await browser.newContext();6 const page = await context.newPage();7 await page.screenshot({ path: `example.png` });8 await browser.close();9})();

Full Screen

Using AI Code Generation

copy

Full Screen

1const {chromium, webkit, firefox} = require('playwright');2(async () => {3 const browser = await chromium.connect({4 });5 const context = await browser.newContext();6 const page = await context.newPage();7 await page.screenshot({ path: `example.png` });8 await browser.close();9})();

Full Screen

Using AI Code Generation

copy

Full Screen

1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.connect({4 });5 const page = await browser.newPage();6 await page.screenshot({ path: `example.png` });7 await browser.close();8})();9const { chromium } = require('playwright');10(async () => {11 const browserServer = await chromium.launchServer();12 const browser = await chromium.connect({13 wsEndpoint: browserServer.wsEndpoint(),14 });15 const page = await browser.newPage();16 await page.screenshot({ path: `example.png` });17 await browser.close();18 await browserServer.close();19})();20const { chromium } = require('playwright');21(async () => {22 const browser = await chromium.launchPersistentContext('user-data-dir', {23 });24 const page = await browser.newPage();25 await page.screenshot({ path: `example.png` });26 await browser.close();27})();28const { chromium } = require('playwright');29(async () => {30 const browserServer = await chromium.launchServer();31 const browser = await chromium.connect({32 wsEndpoint: browserServer.wsEndpoint(),33 });34 const page = await browser.newPage();35 await page.screenshot({ path: `example.png` });36 await browser.close();37 await browserServer.close();38})();39const { chromium } = require('playwright');40(async () => {41 const browser = await chromium.launch({42 });43 const page = await browser.newPage();44 await page.screenshot({

Full Screen

Using AI Code Generation

copy

Full Screen

1const {chromium} = require('playwright');2(async () => {3 const browser = await chromium.connect({4 });5 const context = await browser.newContext();6 const page = await context.newPage();7 await page.screenshot({ path: `example.png` });8 await browser.close();9})();

Full Screen

Playwright tutorial

LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.

Chapters:

  1. What is Playwright : Playwright is comparatively new but has gained good popularity. Get to know some history of the Playwright with some interesting facts connected with it.
  2. How To Install Playwright : Learn in detail about what basic configuration and dependencies are required for installing Playwright and run a test. Get a step-by-step direction for installing the Playwright automation framework.
  3. Playwright Futuristic Features: Launched in 2020, Playwright gained huge popularity quickly because of some obliging features such as Playwright Test Generator and Inspector, Playwright Reporter, Playwright auto-waiting mechanism and etc. Read up on those features to master Playwright testing.
  4. What is Component Testing: Component testing in Playwright is a unique feature that allows a tester to test a single component of a web application without integrating them with other elements. Learn how to perform Component testing on the Playwright automation framework.
  5. Inputs And Buttons In Playwright: Every website has Input boxes and buttons; learn about testing inputs and buttons with different scenarios and examples.
  6. Functions and Selectors in Playwright: Learn how to launch the Chromium browser with Playwright. Also, gain a better understanding of some important functions like “BrowserContext,” which allows you to run multiple browser sessions, and “newPage” which interacts with a page.
  7. Handling Alerts and Dropdowns in Playwright : Playwright interact with different types of alerts and pop-ups, such as simple, confirmation, and prompt, and different types of dropdowns, such as single selector and multi-selector get your hands-on with handling alerts and dropdown in Playright testing.
  8. Playwright vs Puppeteer: Get to know about the difference between two testing frameworks and how they are different than one another, which browsers they support, and what features they provide.
  9. Run Playwright Tests on LambdaTest: Playwright testing with LambdaTest leverages test performance to the utmost. You can run multiple Playwright tests in Parallel with the LammbdaTest test cloud. Get a step-by-step guide to run your Playwright test on the LambdaTest platform.
  10. Playwright Python Tutorial: Playwright automation framework support all major languages such as Python, JavaScript, TypeScript, .NET and etc. However, there are various advantages to Python end-to-end testing with Playwright because of its versatile utility. Get the hang of Playwright python testing with this chapter.
  11. Playwright End To End Testing Tutorial: Get your hands on with Playwright end-to-end testing and learn to use some exciting features such as TraceViewer, Debugging, Networking, Component testing, Visual testing, and many more.
  12. Playwright Video Tutorial: Watch the video tutorials on Playwright testing from experts and get a consecutive in-depth explanation of Playwright automation testing.

Run Playwright Internal automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful