FullCertProvision.cy.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /// <reference types="cypress" />
  2. describe('Full Certificate Provisions', () => {
  3. let token;
  4. before(() => {
  5. cy.getToken().then((tok) => {
  6. token = tok;
  7. });
  8. });
  9. it('Should be able to create new http certificate', function() {
  10. cy.task('backendApiPost', {
  11. token: token,
  12. path: '/api/nginx/certificates',
  13. data: {
  14. domain_names: [
  15. 'website1.example.com'
  16. ],
  17. meta: {
  18. letsencrypt_email: '[email protected]',
  19. letsencrypt_agree: true,
  20. dns_challenge: false
  21. },
  22. provider: 'letsencrypt'
  23. }
  24. }).then((data) => {
  25. cy.validateSwaggerSchema('post', 201, '/nginx/certificates', data);
  26. expect(data).to.have.property('id');
  27. expect(data.id).to.be.greaterThan(0);
  28. expect(data.provider).to.be.equal('letsencrypt');
  29. });
  30. });
  31. it('Should be able to create new DNS certificate with Powerdns', function() {
  32. cy.task('backendApiPost', {
  33. token: token,
  34. path: '/api/nginx/certificates',
  35. data: {
  36. domain_names: [
  37. 'website2.example.com'
  38. ],
  39. meta: {
  40. letsencrypt_email: "[email protected]",
  41. dns_challenge: true,
  42. dns_provider: 'powerdns',
  43. dns_provider_credentials: 'dns_powerdns_api_url = http://ns1.pdns:8081\r\ndns_powerdns_api_key = npm',
  44. letsencrypt_agree: true,
  45. propagation_seconds: 5,
  46. },
  47. provider: 'letsencrypt'
  48. }
  49. }).then((data) => {
  50. cy.validateSwaggerSchema('post', 201, '/nginx/certificates', data);
  51. expect(data).to.have.property('id');
  52. expect(data.id).to.be.greaterThan(0);
  53. expect(data.provider).to.be.equal('letsencrypt');
  54. expect(data.meta.dns_provider).to.be.equal('powerdns');
  55. });
  56. });
  57. });