Uploaded image for project: 'MariaDB Connector/J'
  1. MariaDB Connector/J
  2. CONJ-1245

Tests fail with mariadb daemon running in a container

Details

    • Bug
    • Status: Closed (View Workflow)
    • Trivial
    • Resolution: Fixed
    • 3.5.2
    • 3.5.3
    • test
    • None

    Description

      Motivation: we want to run tests in a container where systemd is not available and therefore we have to use the old way of invoking mariadbd as the user mysql.

      With this setup, 6 tests fail, all because "Access denied for user XXX" (user created from Java code).

      Steps to reproduce:

      $ podman pull centos:stream9
      $ podman run --rm -it centos:stream9
       
      # dnf -y install git-core maven mariadb-server
      # rpm -q mariadb-server
       
      # cd /usr/local/src
      # git clone https://github.com/mariadb-corporation/mariadb-connector-j.git
      # cd mariadb-connector-j/
      # mariadb-install-db --user=mysql --datadir=/var/lib/mysql
      # su -s /bin/bash mysql -c "mariadbd-safe --general-log=1 --log_warnings=9 &"
      # # wait until the server is ready
      # tail -f /var/log/mariadb/mariadb.log | grep -q 'mariadbd: ready for connections.'
      # mariadb -u root -e "grant all privileges on *.* to 'root'@'localhost' identified by '';"
      # mariadb -u root -e "create database testj;"
      # useradd mockbuild -m
      # chmod a+rwx .
      # su mockbuild -c "mvn test"
      ...
      [ERROR] Errors: 
      [ERROR]   ConnectionTest.expiredPasswordTest:1473 ? SQLInvalidAuthorizationSpec (conn=653) Access denied for user 'expired_pwd_user'@'localhost' (using password: YES)
      [ERROR]   ConnectionTest.verificationEd25519AuthPlugin:772->Common.createCon:222 ? SQLInvalidAuthorizationSpec (conn=685) Access denied for user 'verificationEd25519AuthPlugin'@'localhost' (using password: YES)
      [ERROR]   DataSourceTest.switchUser:162 ? SQLInvalidAuthorizationSpec (conn=405) Access denied for user 'dsUser'@'localhost' (using password: YES)
      [ERROR]   PoolDataSourceTest.poolWithUser:712 ? SQLInvalidAuthorizationSpec (conn=1002) Access denied for user 'poolUser'@'localhost' (using password: YES)
      [ERROR]   PoolDataSourceTest.testDataSource:209 ? SQLInvalidAuthorizationSpec (conn=1000) Access denied for user 'poolUser'@'localhost' (using password: YES)
      [ERROR]   PooledConnectionTest.testPooledConnectionStatementError:209 ? SQLInvalidAuthorizationSpec (conn=11) Access denied for user 'dsUser'@'localhost' (using password: YES)
      [INFO] 
      [ERROR] Tests run: 1939, Failures: 0, Errors: 6, Skipped: 24
      ...
      

      Attachments

        Activity

          mkoncek Marián Konček created issue -
          mkoncek Marián Konček made changes -
          Field Original Value New Value
          Description Motivation: we want to run tests in a container where systemd is not available and therefore we have to use the old was of invoking {{mariadbd}} as the user {{mysql}}.

          With this setup, 5 tests fail, all because "Access denied for user XXX" (user created from Java code).

          Steps to reproduce:
          {CODE}
          $ podman pull centos:stream9
          $ podman run --rm -it centos:stream9

          # dnf -y install git-core maven mariadb-server
          # rpm -q mariadb-server

          # cd /usr/local/src
          # git clone https://github.com/mariadb-corporation/mariadb-connector-j.git
          # cd mariadb-connector-j/
          # mariadb-install-db --user=mysql --datadir=/var/lib/mysql
          # su -s /bin/bash mysql -c "mariadbd-safe --general-log=1 --log_warnings=9 &"
          # # wait until the server is ready
          # tail -f /var/log/mariadb/mariadb.log | grep -q 'mariadbd: ready for connections.'
          # mariadb -u root -e "grant all privileges on *.* to 'root'@'localhost' identified by '';"
          # mariadb -u root -e "create database testj;"
          # useradd mockbuild -m
          # chmod a+rwx .
          # su mockbuild -c "mvn test"
          ...
          [ERROR] Errors:
          [ERROR] ConnectionTest.expiredPasswordTest:1473 ? SQLInvalidAuthorizationSpec (conn=653) Access denied for user 'expired_pwd_user'@'localhost' (using password: YES)
          [ERROR] ConnectionTest.verificationEd25519AuthPlugin:772->Common.createCon:222 ? SQLInvalidAuthorizationSpec (conn=685) Access denied for user 'verificationEd25519AuthPlugin'@'localhost' (using password: YES)
          [ERROR] DataSourceTest.switchUser:162 ? SQLInvalidAuthorizationSpec (conn=405) Access denied for user 'dsUser'@'localhost' (using password: YES)
          [ERROR] PoolDataSourceTest.poolWithUser:712 ? SQLInvalidAuthorizationSpec (conn=1002) Access denied for user 'poolUser'@'localhost' (using password: YES)
          [ERROR] PoolDataSourceTest.testDataSource:209 ? SQLInvalidAuthorizationSpec (conn=1000) Access denied for user 'poolUser'@'localhost' (using password: YES)
          [ERROR] PooledConnectionTest.testPooledConnectionStatementError:209 ? SQLInvalidAuthorizationSpec (conn=11) Access denied for user 'dsUser'@'localhost' (using password: YES)
          [INFO]
          [ERROR] Tests run: 1939, Failures: 0, Errors: 6, Skipped: 24
          ...
          {CODE}
          Motivation: we want to run tests in a container where systemd is not available and therefore we have to use the old way of invoking {{mariadbd}} as the user {{mysql}}.

          With this setup, 5 tests fail, all because "Access denied for user XXX" (user created from Java code).

          Steps to reproduce:
          {CODE}
          $ podman pull centos:stream9
          $ podman run --rm -it centos:stream9

          # dnf -y install git-core maven mariadb-server
          # rpm -q mariadb-server

          # cd /usr/local/src
          # git clone https://github.com/mariadb-corporation/mariadb-connector-j.git
          # cd mariadb-connector-j/
          # mariadb-install-db --user=mysql --datadir=/var/lib/mysql
          # su -s /bin/bash mysql -c "mariadbd-safe --general-log=1 --log_warnings=9 &"
          # # wait until the server is ready
          # tail -f /var/log/mariadb/mariadb.log | grep -q 'mariadbd: ready for connections.'
          # mariadb -u root -e "grant all privileges on *.* to 'root'@'localhost' identified by '';"
          # mariadb -u root -e "create database testj;"
          # useradd mockbuild -m
          # chmod a+rwx .
          # su mockbuild -c "mvn test"
          ...
          [ERROR] Errors:
          [ERROR] ConnectionTest.expiredPasswordTest:1473 ? SQLInvalidAuthorizationSpec (conn=653) Access denied for user 'expired_pwd_user'@'localhost' (using password: YES)
          [ERROR] ConnectionTest.verificationEd25519AuthPlugin:772->Common.createCon:222 ? SQLInvalidAuthorizationSpec (conn=685) Access denied for user 'verificationEd25519AuthPlugin'@'localhost' (using password: YES)
          [ERROR] DataSourceTest.switchUser:162 ? SQLInvalidAuthorizationSpec (conn=405) Access denied for user 'dsUser'@'localhost' (using password: YES)
          [ERROR] PoolDataSourceTest.poolWithUser:712 ? SQLInvalidAuthorizationSpec (conn=1002) Access denied for user 'poolUser'@'localhost' (using password: YES)
          [ERROR] PoolDataSourceTest.testDataSource:209 ? SQLInvalidAuthorizationSpec (conn=1000) Access denied for user 'poolUser'@'localhost' (using password: YES)
          [ERROR] PooledConnectionTest.testPooledConnectionStatementError:209 ? SQLInvalidAuthorizationSpec (conn=11) Access denied for user 'dsUser'@'localhost' (using password: YES)
          [INFO]
          [ERROR] Tests run: 1939, Failures: 0, Errors: 6, Skipped: 24
          ...
          {CODE}
          mkoncek Marián Konček made changes -
          Description Motivation: we want to run tests in a container where systemd is not available and therefore we have to use the old way of invoking {{mariadbd}} as the user {{mysql}}.

          With this setup, 5 tests fail, all because "Access denied for user XXX" (user created from Java code).

          Steps to reproduce:
          {CODE}
          $ podman pull centos:stream9
          $ podman run --rm -it centos:stream9

          # dnf -y install git-core maven mariadb-server
          # rpm -q mariadb-server

          # cd /usr/local/src
          # git clone https://github.com/mariadb-corporation/mariadb-connector-j.git
          # cd mariadb-connector-j/
          # mariadb-install-db --user=mysql --datadir=/var/lib/mysql
          # su -s /bin/bash mysql -c "mariadbd-safe --general-log=1 --log_warnings=9 &"
          # # wait until the server is ready
          # tail -f /var/log/mariadb/mariadb.log | grep -q 'mariadbd: ready for connections.'
          # mariadb -u root -e "grant all privileges on *.* to 'root'@'localhost' identified by '';"
          # mariadb -u root -e "create database testj;"
          # useradd mockbuild -m
          # chmod a+rwx .
          # su mockbuild -c "mvn test"
          ...
          [ERROR] Errors:
          [ERROR] ConnectionTest.expiredPasswordTest:1473 ? SQLInvalidAuthorizationSpec (conn=653) Access denied for user 'expired_pwd_user'@'localhost' (using password: YES)
          [ERROR] ConnectionTest.verificationEd25519AuthPlugin:772->Common.createCon:222 ? SQLInvalidAuthorizationSpec (conn=685) Access denied for user 'verificationEd25519AuthPlugin'@'localhost' (using password: YES)
          [ERROR] DataSourceTest.switchUser:162 ? SQLInvalidAuthorizationSpec (conn=405) Access denied for user 'dsUser'@'localhost' (using password: YES)
          [ERROR] PoolDataSourceTest.poolWithUser:712 ? SQLInvalidAuthorizationSpec (conn=1002) Access denied for user 'poolUser'@'localhost' (using password: YES)
          [ERROR] PoolDataSourceTest.testDataSource:209 ? SQLInvalidAuthorizationSpec (conn=1000) Access denied for user 'poolUser'@'localhost' (using password: YES)
          [ERROR] PooledConnectionTest.testPooledConnectionStatementError:209 ? SQLInvalidAuthorizationSpec (conn=11) Access denied for user 'dsUser'@'localhost' (using password: YES)
          [INFO]
          [ERROR] Tests run: 1939, Failures: 0, Errors: 6, Skipped: 24
          ...
          {CODE}
          Motivation: we want to run tests in a container where systemd is not available and therefore we have to use the old way of invoking {{mariadbd}} as the user {{mysql}}.

          With this setup, 6 tests fail, all because "Access denied for user XXX" (user created from Java code).

          Steps to reproduce:
          {CODE}
          $ podman pull centos:stream9
          $ podman run --rm -it centos:stream9

          # dnf -y install git-core maven mariadb-server
          # rpm -q mariadb-server

          # cd /usr/local/src
          # git clone https://github.com/mariadb-corporation/mariadb-connector-j.git
          # cd mariadb-connector-j/
          # mariadb-install-db --user=mysql --datadir=/var/lib/mysql
          # su -s /bin/bash mysql -c "mariadbd-safe --general-log=1 --log_warnings=9 &"
          # # wait until the server is ready
          # tail -f /var/log/mariadb/mariadb.log | grep -q 'mariadbd: ready for connections.'
          # mariadb -u root -e "grant all privileges on *.* to 'root'@'localhost' identified by '';"
          # mariadb -u root -e "create database testj;"
          # useradd mockbuild -m
          # chmod a+rwx .
          # su mockbuild -c "mvn test"
          ...
          [ERROR] Errors:
          [ERROR] ConnectionTest.expiredPasswordTest:1473 ? SQLInvalidAuthorizationSpec (conn=653) Access denied for user 'expired_pwd_user'@'localhost' (using password: YES)
          [ERROR] ConnectionTest.verificationEd25519AuthPlugin:772->Common.createCon:222 ? SQLInvalidAuthorizationSpec (conn=685) Access denied for user 'verificationEd25519AuthPlugin'@'localhost' (using password: YES)
          [ERROR] DataSourceTest.switchUser:162 ? SQLInvalidAuthorizationSpec (conn=405) Access denied for user 'dsUser'@'localhost' (using password: YES)
          [ERROR] PoolDataSourceTest.poolWithUser:712 ? SQLInvalidAuthorizationSpec (conn=1002) Access denied for user 'poolUser'@'localhost' (using password: YES)
          [ERROR] PoolDataSourceTest.testDataSource:209 ? SQLInvalidAuthorizationSpec (conn=1000) Access denied for user 'poolUser'@'localhost' (using password: YES)
          [ERROR] PooledConnectionTest.testPooledConnectionStatementError:209 ? SQLInvalidAuthorizationSpec (conn=11) Access denied for user 'dsUser'@'localhost' (using password: YES)
          [INFO]
          [ERROR] Tests run: 1939, Failures: 0, Errors: 6, Skipped: 24
          ...
          {CODE}
          diego dupin Diego Dupin added a comment -

          some tests have been corrected to work with non local server

          diego dupin Diego Dupin added a comment - some tests have been corrected to work with non local server
          diego dupin Diego Dupin made changes -
          Fix Version/s 3.5.3 [ 30102 ]
          diego dupin Diego Dupin made changes -
          Component/s test [ 14007 ]
          Resolution Fixed [ 1 ]
          Status Open [ 1 ] Closed [ 6 ]
          diego dupin Diego Dupin made changes -
          Priority Major [ 3 ] Trivial [ 5 ]

          People

            diego dupin Diego Dupin
            mkoncek Marián Konček
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.