github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/acceptance/openstack/waf/v1/certificates_test.go (about)

     1  package v1
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/opentelekomcloud/gophertelekomcloud/acceptance/clients"
     7  	"github.com/opentelekomcloud/gophertelekomcloud/acceptance/tools"
     8  	"github.com/opentelekomcloud/gophertelekomcloud/openstack/waf/v1/certificates"
     9  	th "github.com/opentelekomcloud/gophertelekomcloud/testhelper"
    10  )
    11  
    12  const (
    13  	testKey            = "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCvmuH5ViGtGOle\nvJ8vOoN3Ak4pp3SescdAfQa/r4cOz/bmBqBcZJTX9HODhiQzdemyLLs9aOkQXYIc\n8OrcaIsjns92XITVDpFW0ThGyjhTZdELj9LsbIcVzNPPclTcebZBlzAyX0oLqpHK\n73OUYQY2E6l44U9G8Id763Bnws9NRn3cg0qufrlUgdim/pYZ8ubjvlDJ9eEIhcsu\n9zu8c8i2+8qLjEsonx5PrwzNlYP3JqAmZ2dcbQeSPfv5U6ZceKEZfegK+Cxv4rFd\n5F4Rdxl+SAIY+6mr7qu1dAlcVMLSQcLlJLRWQ5NmqL9xju7Fbj2VZt+L6nb512iK\naedPo2GfAgMBAAECggEAeMAvDS3uAEI2Dx/y8h3xUn9yUfBFH+6tTanrXxoK6+OT\nKj96O64qL4l3eQRflkdJiGx74FFomglCtDXxudflfXvxurkJ2hunUySQ5xScwLQt\nmB6w8kP6a8IqD+bVdbn32ohk6u5dU0JZ+ErJlklVZRAGJAoCYox5DXwrEh6CP+bJ\npItgjv71tEEnX5sScQwV7FMRbjsPzXoJp8vCQjlUdetM1fk9rs3R2WSeFbPgLLtC\nxY0+8Hexy0q6BLmyPZvFCaVIAzAHCYeCyzPK3xcm4odbrBmRL/amOg24CCny065N\nMU9RFhEjQsY1RaK7dgkvjsntUZvU+aDcL8o6djOTuQKBgQDlDN/j2ntpGCtbTWH0\ncVTW13Ze7U7iE3BfDO3m4VYP3Xi/v5FI8nHlmLrcl30H1dPKvMTec0dCBOqD1wzF\nKiqHy8ELowO2CbXMYJpjuPzXH40/AE3eOJVTJM8mOeuFdeFgYCd/9cB7o5jfTA5Y\n4zj8EmcRzsH1rNSnvo7/O9q6+wKBgQDERDSvP8RScEbzDKuN6uhzj1K2CAEnY6//\nrDA1so18UhAie9NcAvlKa46jQTOcYD77g5h0WSlNt9ZbK9Plq9CY9psI0KNqN3Fl\nYVKOKdD5m6Rifmg+lt8KLc/WocQ10DXpPTXzzuRlN/TaMDdN2pedEre/0AAMs8Ia\nMIUnu4oyrQKBgQC6b6BNdqi9Ak9IIdR5g0XrGbXfzolGu0vcEkoSg5fpkfuXF/bJ\nyY2rtIVkyGmc1w9tFfmol2yI8Ddy2LgsRAYaQl7/edCre3vev0LrqMck0ynE/hpj\npurkojF6i+qI10p7h8ie/wmNmbv1BZMoBst7Yf9DH2gA8IynfRQn7DA9wQKBgGaU\nM2kJDgX8UsjDbYKuLTIAzb0AMAIzUxBxIX1fRh2dEnvDdjOYBk1EK/fdoyjvENwJ\n6ouc8j6BgBKEtKpMg6j+8wbHbTGdqrHPDQPqjSN4mpEz+i4EUqySRxep0tBBc3vl\nFybHko3okhvbqXwSbL2Ww90HzI7XAPMJOv8KQO+9AoGBAJxxftNWvypBXGkPCdH2\nf3ikvT2Vef9QZjqkvtipCecAkjM6ReLshVsdqFSv/ZmsVUeNKoTHvX2GnhweJM44\nx7N2mFK4skBzVtMVbjAHVjG78UitVu+FrzqGreaJXHaduhgUH2iFWfw09joOotAM\nX7ioLbTeWGBqFM+C80PkdBNp\n-----END PRIVATE KEY-----"
    14  	testCert           = "-----BEGIN CERTIFICATE-----\nMIIE8DCCA9igAwIBAgISBBvT73JHmxkCaGQKE1cneHh1MA0GCSqGSIb3DQEBCwUA\nMDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQD\nEwJSMzAeFw0yMzExMTQxNTE5MDJaFw0yNDAyMTIxNTE5MDFaMBwxGjAYBgNVBAMT\nEXJlbGF4LmZlcmNoYXUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\nAQEA0htQi7o/Jb2lISY7s6/TExCc01zY1E4hpfts5iqjMT0JRc45mHK6EoVr84J3\nAi6tX78RlfWDwC1XGbugysyvCRspyPNTZUtdCgoi6XoZu93PdtpJ8TTP/FGztNPw\nbK9gUd3ZdGM4oeTPpr0ECPWf+uJ1ucBAp4OZxivltAswvlO6/vYyUmyYxdb4F07Y\nboXcf+pttM0t7ClRHWNIDrFC2P8G1opy8pjYimcVd9GRUIZevhT1fz+cJrhcxF7M\njxQqgbSjWfD+wJ2XFhNfTlOUMQDZVULM59Pwyf0r7jq4bcY7xTvNp7SiFr+IGbgz\n0Gl4w/z8qqJV/jHtYALQZxXxwQIDAQABo4ICFDCCAhAwDgYDVR0PAQH/BAQDAgWg\nMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0G\nA1UdDgQWBBQemg3O3qJ5s59Yel34Lescd/synDAfBgNVHSMEGDAWgBQULrMXt1hW\ny65QCUDmH6+dixTCxjBVBggrBgEFBQcBAQRJMEcwIQYIKwYBBQUHMAGGFWh0dHA6\nLy9yMy5vLmxlbmNyLm9yZzAiBggrBgEFBQcwAoYWaHR0cDovL3IzLmkubGVuY3Iu\nb3JnLzAcBgNVHREEFTATghFyZWxheC5mZXJjaGF1LmNvbTATBgNVHSAEDDAKMAgG\nBmeBDAECATCCAQUGCisGAQQB1nkCBAIEgfYEgfMA8QB3ADtTd3U+LbmAToswWwb+\nQDtn2E/D9Me9AA0tcm/h+tQXAAABi86hDRIAAAQDAEgwRgIhAPtP8/xmpNftBgvm\nw8T50cV923nC83IwUR/UYCgMUhDRAiEAwUUU9z7Afs6jUAQ+7XptmG6+60YCcIWv\nwnMI82Pqr2MAdgB2/4g/Crb7lVHCYcz1h7o0tKTNuyncaEIKn+ZnTFo6dAAAAYvO\noQ1IAAAEAwBHMEUCIQD6hkTTj4/gqWiygdXdEb0ylG3rAD7mRkc9x1Z7+VGhEwIg\nYQfYYHXBEFN2aRiIZTWXgBYVjyKCGKHQaMvd+pDb2cEwDQYJKoZIhvcNAQELBQAD\nggEBAFxxw3cAJGg/u6v8qttFa04YgWIgwHfW5XNRskOr96cibDSaCP5Amq33/BRh\nytoF7al6Y+3/4vM/A+8IbIt0cUVfoqEY3IzjX9gVsmqemhsyaQB9BFnbCGySKBaS\n7ecOqbhMz3aHbb9qD1p7ne136mvv3vyup9dGBNbZ2TYc4/q8eHD/2yrL/xv8Zzdu\nOk8QTDwsAxK473IORgMoBolfM5qU+mY2eau6XtwbffFhaDdjTbN/AdwJylMzZlXs\nvM3NdeMJuFFZIzvJ5R+9ddWgeRXM0Ksl5k4QGcZyKRu9I0F/9suGYDKdTQcCVNmP\nWjvoz9oBJtp410PMWxmrLcsXLzI=\n-----END CERTIFICATE-----"
    15  	testCertExpiration = 1707751141000
    16  )
    17  
    18  func TestCertificateLifecycle(t *testing.T) {
    19  	client, err := clients.NewWafV1Client()
    20  	th.AssertNoErr(t, err)
    21  
    22  	name := tools.RandomString("test_cert-", 5)
    23  
    24  	opts := certificates.CreateOpts{
    25  		Name:    name,
    26  		Content: testCert,
    27  		Key:     testKey,
    28  	}
    29  
    30  	created, err := certificates.Create(client, opts).Extract()
    31  	th.AssertNoErr(t, err)
    32  	th.AssertEquals(t, int64(testCertExpiration), created.ExpireTime)
    33  
    34  	defer func() {
    35  		err := certificates.Delete(client, created.Id).ExtractErr()
    36  		th.AssertNoErr(t, err)
    37  	}()
    38  
    39  	got, err := certificates.Get(client, created.Id).Extract()
    40  	th.AssertNoErr(t, err)
    41  	th.AssertEquals(t, created.Name, got.Name)
    42  	th.AssertEquals(t, created.ExpireTime, got.ExpireTime)
    43  
    44  	updateOpts := certificates.UpdateOpts{Name: name + "_updated"}
    45  	updated, err := certificates.Update(client, created.Id, updateOpts).Extract()
    46  	th.AssertNoErr(t, err)
    47  	th.AssertEquals(t, created.ExpireTime, updated.ExpireTime)
    48  	th.AssertEquals(t, created.Id, updated.Id)
    49  	th.AssertEquals(t, updateOpts.Name, updated.Name)
    50  
    51  	pages, err := certificates.List(client, nil).AllPages()
    52  	th.AssertNoErr(t, err)
    53  
    54  	certs, err := certificates.ExtractCertificates(pages)
    55  	th.AssertNoErr(t, err)
    56  	if len(certs) == 0 {
    57  		t.Errorf("no certificates in the list")
    58  	}
    59  
    60  	pages2, err := certificates.List(client, certificates.ListOpts{
    61  		Limit: -1,
    62  	}).AllPages()
    63  	th.AssertNoErr(t, err)
    64  
    65  	certs2, err := certificates.ExtractCertificates(pages2)
    66  	th.AssertNoErr(t, err)
    67  	if len(certs2) == 0 {
    68  		t.Errorf("no certificates in the list")
    69  	}
    70  }