Me and my colleagues are trying to do automated testing with Docker and Lambda in AWS. To run a Docker container with Lambda, an image with my application is required. This means I have to make a Dockerfile
which extends the Katalon Docker Image. I currently am using the free trial version since we are testing the software to make a decision, and to be able to run the KDI a KRE floating license is required. After thorough search, I found that the trial version includes a floating license.
When I run the command provided by the docs (with my option values) in my Terminal:
docker run -t --rm -v "$(pwd)":/tmp/project katalonstudio/katalon katalonc.sh -projectPath=/tmp/project -browserType="Chrome" -testSuitePath="Test Suites/02 Login Phase/User Login" -apiKey="<my_API_key>"
the tests execute just fine. Some errors occur occasionally, but I digress. It tries to activate and online license and it runs just fine.
Now, the issue comes when I try to run the custom image I create. Here is my Dockerfile:
# First pull from Python to be able to run script to set env variables
# that must be kept secret
FROM python
COPY . /home/monitoring
RUN python /home/monitoring/set_image_env_vars.py
# The pull the katalon image to run the actual system monitoring scripts
FROM katalonstudio/katalon
COPY . /home/monitoring
CMD ["katalonc.sh", "-projectPath=$PROJECT_PATH", "-browserType=$BROWSER", "-retry=0", "-testSuitePath='$TEST_SUITE_PATH'", "-apikey='<my_api_key>'"]
I know it seems a bit weird, but the python part is to just set some environment variables which have to be fetched from a remote server. The problems occur when I run:
docker run -t katalon_docker/test:0.1
katalon_docker/test
is the name of my image. The output is the following:
Activating...
Start activating offline...
Search for valid offline licenses in folder: /root/.katalon/license
The number of valid offline licenses: 0
Start activating online...
Katalon TestOps: Unexpected response, URL: https://analytics.katalon.com/oauth/token, Status: 400, Response: {"error":"invalid_grant","error_description":"Invalid credentials."}
Invalid credentials.
Online activation for console mode failed.
Activation failed. Please make sure you are using a valid license.
All launchers terminated
+ ret_code=3
+ exit 3
I have tried many variations of this such as my Dockerfile containing only the FROM
field and executing the run command as mentioned above, except using my docker image. This one will not work as desired, obviously. I have also tried hard coding the option values to the CMD line of the Dockerfile, but to no avail.
I would expect that the API Key option would be the starting point to resolving this issue, but I know the key is good because, as mentioned earlier, I can run a container with the image from my Terminal. Any help would be appreciated.
Thanks!