Projekt

Obecné

Profil

« Předchozí | Další » 

Revize da8c3753

Přidáno uživatelem Michal Seják před téměř 4 roky(ů)

Re #8702 - Added filtering/pagination tests.

Zobrazit rozdíly:

tests/integration_tests/rest_api/certificates_test.py
342 342
    assert d["success"]
343 343

  
344 344

  
345
def test_filtering(server):
346
    ret = server.get("/api/certificates?filtering=%7B%22CA%22:true%7D")
345
def test_filtering_url(server):
346
    ret = server.get("/api/certificates?filtering=%7B%22type%22%3A%20%5B%22root%22%2C%20%22inter%22%5D%7D")
347 347

  
348 348
    assert ret.status_code == 200
349 349

  
......
355 355

  
356 356
    assert all(c["usage"]["CA"] for c in d)
357 357

  
358
    ret = server.get("/api/certificates", json={"filtering": {"CA": True}})
358

  
359
def test_filtering_multi(server):
360
    ret = server.get("/api/certificates", json={"filtering": {"type": ["root", "inter"]}})
359 361

  
360 362
    assert ret.status_code == 200
361 363

  
......
368 370
    assert all(c["usage"]["CA"] for c in d)
369 371

  
370 372
    all_certs_expected = list(d)
371

  
372
    ret = server.get("/api/certificates", json={"filtering": {"CA": False}})
373
    ret = server.get("/api/certificates", json={"filtering": {"type": ["end"]}})
373 374

  
374 375
    assert ret.status_code == 200
375 376

  
......
395 396
    all_certs_actual = ret.json["data"]
396 397

  
397 398
    assert len(all_certs_actual) == len(all_certs_expected)
398
    # TODO assert set(all_certs_expected) == set(all_certs_actual) or something like that instead
399 399

  
400
def test_filtering_issuer(server):
400 401
    ret = server.get("/api/certificates", json={"filtering": {"issuedby": 2}})
401 402
    assert ret.status_code == 200
402 403
    assert "data" in ret.json
......
406 407
    assert len(issued_by_2) == 2
407 408
    assert set(issued_by_2[i]["id"] for i in range(2)) == {3, 8}
408 409

  
409
    ret = server.get("/api/certificates", json={"filtering": {"issuedby": 2, "CA": True}})
410

  
411
def test_filtering_issuer_type(server):
412
    ret = server.get("/api/certificates", json={"filtering": {"issuedby": 2, "type": ["root", "inter"]}})
410 413
    assert ret.status_code == 200
411 414
    assert "data" in ret.json
412 415
    assert "success" in ret.json
......
416 419
    assert issued_by_2[0]["id"] == 3
417 420

  
418 421

  
422
def test_filtering_pagination(server):
423
    certs = []
424
    for i in range(3):
425
        ret = server.get("/api/certificates", json={"page": i, "per_page": 2})
426
        assert ret.status_code == 200
427
        assert "data" in ret.json
428
        assert "success" in ret.json
429
        assert ret.json["success"]
430
        certs += ret.json["data"]
431

  
432
    ret = server.get("/api/certificates", json={"page": 0, "per_page": 6})
433
    assert ret.status_code == 200
434
    assert "data" in ret.json
435
    assert "success" in ret.json
436
    assert ret.json["success"]
437
    assert certs == ret.json["data"]
438

  
439

  
440
def test_filtering_usage_1(server):
441
    ret = server.get("/api/certificates", json={"filtering": {"usage": ["CA", "digitalSignature"]}})
442
    assert ret.status_code == 200
443
    assert "data" in ret.json
444
    assert "success" in ret.json
445
    assert ret.json["success"]
446

  
447
    assert all(c["usage"]["CA"] or c["usage"]["digitalSignature"] for c in ret.json["data"])
448

  
449

  
450
def test_filtering_usage_2(server):
451
    ret = server.get("/api/certificates", json={"filtering": {"usage": ["CA", "SSL"]}})
452
    assert ret.status_code == 200
453
    assert "data" in ret.json
454
    assert "success" in ret.json
455
    assert ret.json["success"]
456

  
457
    assert all(c["usage"]["CA"] or c["usage"]["SSL"] for c in ret.json["data"])
458

  
459

  
460
def test_filtering_usage_3(server):
461
    ret = server.get("/api/certificates", json={"filtering": {"usage": ["SSL"]}})
462
    assert ret.status_code == 200
463
    assert "data" in ret.json
464
    assert "success" in ret.json
465
    assert ret.json["success"]
466

  
467
    assert all(c["usage"]["SSL"] for c in ret.json["data"])
468

  
469

  
470
def test_filtering_cn_1(server):
471
    ret = server.get("/api/certificates", json={"filtering": {"CN": "Root"}})
472
    assert ret.status_code == 200
473
    assert "data" in ret.json
474
    assert "success" in ret.json
475
    assert ret.json["success"]
476

  
477
    assert all("Root" in c["CN"] for c in ret.json["data"])
478

  
479

  
480
def test_filtering_cn_2(server):
481
    ret = server.get("/api/certificates", json={"filtering": {"CN": "s.r.o"}})
482
    assert ret.status_code == 200
483
    assert "data" in ret.json
484
    assert "success" in ret.json
485
    assert ret.json["success"]
486

  
487
    assert all("s.r.o" in c["CN"] for c in ret.json["data"])
488

  
489

  
490
def test_filtering_cn_3(server):
491
    ret = server.get("/api/certificates", json={"filtering": {"CN": "awoehawegpiuh"}})
492
    assert ret.status_code == 200
493
    assert "data" in ret.json
494
    assert "success" in ret.json
495
    assert ret.json["success"]
496

  
497
    assert all("awoehawegpiuh" in c["CN"] for c in ret.json["data"])
498

  
499

  
419 500
def test_get_one(server):
420 501
    ret = server.get("/api/certificates/1")
421 502

  

Také k dispozici: Unified diff