Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 7d05def5

Přidáno uživatelem Jan Pašek před téměř 4 roky(ů)

Re #8707 - Added integration test of the RestAPI

Zobrazit rozdíly:

tests/integration_tests/rest_api/certificates_test.py
499 499
    assert original["CA"] == new["CA"]
500 500
    assert original["subject"] == new["subject"]
501 501
    assert original["usage"] == new["usage"]
502
    assert new["status"] == "valid"
502 503

  
503 504

  
504 505
def test_get_root(server):
......
830 831
    ret = server.delete("/api/certificates/a_big_number")
831 832
    assert ret.status_code == 400
832 833
    assert not ret.json["success"]
834

  
835

  
836
def test_certificate_status_information_revoked(server):
837
    # Create certificate to be revoked later
838
    certificate = {
839
        "CA": 1,
840
        "subject": {
841
            "C": "EN",
842
            "CN": "Certificate to be revoked",
843
            "L": "Revokeland",
844
            "O": "Revoked organization",
845
            "OU": "Revocation dep"
846
        },
847
        "usage": {
848
            "CA": False,
849
            "SSL": False,
850
            "authentication": False,
851
            "digitalSignature": True
852
        },
853
        "validityDays": 60
854
    }
855
    created_ret = server.post("/api/certificates", content_type="application/json", json=certificate)
856

  
857
    assert created_ret.status_code == 201
858

  
859
    assert "data" in created_ret.json
860
    assert "success" in created_ret.json
861
    assert created_ret.json["success"]
862

  
863
    d = created_ret.json
864
    cert_id = d["data"]
865

  
866
    # get certificate details and verify that it's valid
867
    ret = server.get(f"/api/certificates/{cert_id}/details")
868

  
869
    assert ret.status_code == 200
870

  
871
    assert "data" in ret.json
872
    assert "success" in ret.json
873
    assert ret.json["success"]
874
    assert ret.json["data"]["status"] == "valid"
875

  
876
    # revoke the certificate
877
    revocation_body = {
878
        "status": "revoked",
879
        "reason": "keyCompromise"
880
    }
881
    revoke_ret = server.patch(f"/api/certificates/{cert_id}", content_type="application/json", json=revocation_body)
882

  
883
    assert revoke_ret.status_code == 200
884
    assert "data" in revoke_ret.json
885
    assert "success" in revoke_ret.json
886
    assert revoke_ret.json["success"]
887

  
888
    # get certificate details and verify that it's revoked
889
    ret = server.get(f"/api/certificates/{cert_id}/details")
890

  
891
    assert ret.status_code == 200
892

  
893
    assert "data" in ret.json
894
    assert "success" in ret.json
895
    assert ret.json["success"]
896
    assert ret.json["data"]["status"] == "revoked"
897

  
898

  
899
def test_certificate_status_information_expired(server):
900
    # Create certificate to be revoked later
901
    certificate = {
902
        "CA": 1,
903
        "subject": {
904
            "C": "EN",
905
            "CN": "Certificate to be revoked",
906
            "L": "Revokeland",
907
            "O": "Revoked organization",
908
            "OU": "Revocation dep"
909
        },
910
        "usage": {
911
            "CA": False,
912
            "SSL": False,
913
            "authentication": False,
914
            "digitalSignature": True
915
        },
916
        "validityDays": 0
917
    }
918
    created_ret = server.post("/api/certificates", content_type="application/json", json=certificate)
919

  
920
    assert created_ret.status_code == 201
921

  
922
    assert "data" in created_ret.json
923
    assert "success" in created_ret.json
924
    assert created_ret.json["success"]
925

  
926
    d = created_ret.json
927
    cert_id = d["data"]
928

  
929
    # get certificate details and verify that it's valid
930
    ret = server.get(f"/api/certificates/{cert_id}/details")
931

  
932
    assert ret.status_code == 200
933

  
934
    assert "data" in ret.json
935
    assert "success" in ret.json
936
    assert ret.json["success"]
937
    assert ret.json["data"]["status"] == "expired"

Také k dispozici: Unified diff