test.bats 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #!/usr/bin/env bats
  2. load test_helper
  3. @test "image build" {
  4. run build_image
  5. [ "$status" -eq 0 ]
  6. }
  7. @test "ldapsearch new database" {
  8. run_image -e USE_TLS=false
  9. wait_service slapd
  10. run docker exec $CONTAINER_ID ldapsearch -x -h 127.0.0.1 -b dc=example,dc=org -D "cn=admin,dc=example,dc=org" -w admin
  11. clear_container
  12. [ "$status" -eq 0 ]
  13. }
  14. @test "ldapsearch new database with strict TLS" {
  15. run_image
  16. wait_service slapd
  17. run docker exec $CONTAINER_ID ldapsearch -x -h ldap.example.org -b dc=example,dc=org -ZZ -D "cn=admin,dc=example,dc=org" -w admin
  18. clear_container
  19. [ "$status" -eq 0 ]
  20. }
  21. @test "ldapsearch new database with strict TLS and custom ca/crt" {
  22. run_image -v $BATS_TEST_DIRNAME/ssl:/osixia/slapd/assets/ssl -e SSL_CRT_FILENAME=ldap-test.crt -e SSL_KEY_FILENAME=ldap-test.key -e SSL_CA_CRT_FILENAME=ca-test.crt
  23. wait_service slapd
  24. run docker exec $CONTAINER_ID ldapsearch -x -h ldap.osixia.net -b dc=example,dc=org -ZZ -D "cn=admin,dc=example,dc=org" -w admin
  25. clear_container
  26. chown -R $UNAME:$UNAME $BATS_TEST_DIRNAME || true
  27. [ "$status" -eq 0 ]
  28. }
  29. @test "ldapsearch existing database and config" {
  30. run_image -e USE_TLS=false -v $BATS_TEST_DIRNAME/database:/var/lib/ldap -v $BATS_TEST_DIRNAME/config:/etc/ldap/slapd.d
  31. wait_service slapd
  32. run docker exec $CONTAINER_ID ldapsearch -x -h 127.0.0.1 -b dc=osixia,dc=net -D "cn=admin,dc=osixia,dc=net" -w admin
  33. clear_container
  34. chown -R $UNAME:$UNAME $BATS_TEST_DIRNAME || true
  35. [ "$status" -eq 0 ]
  36. }