Subject: Little patch for Runtime build from Top Level Directory($PGADMIN_SRC) MakeFile

From: Rahul Soshte <[email-masked]>
Date: Thu, 22 Mar 2018 14:58:12 +0530

This is my first time trying to make a Patch.

I am using Ubuntu 17.10.

This patch is in reference to the Feature Added by Dave Page
https://redmine.postgresql.org/issues/1305

I just added code to call makefile in runtime directory(
$PGADMIN_SRC/runtime/Makefile ) from the top level directory's MakeFile  (
$PGADMIN_SRC/Makefile )

I followed the checklist for submitting a patch sent by Murutuza Zabuawala

<================================>
Hello,

Here is the common checklist to follow before sending patch to
pgAdmin4-hackers group,

1) Get the latest pull from master branch.

2) Apply your patch and check if applies successfully on the latest code.

3) Check for PEP8 issues
- activate virtual env
- cd ../web
- yarn run pep8

4) Run regression test
python regression/runtests.py

- To run only UI/feature tests
python regression/runtests.py --pkg feature_tests

- To run regression test (without UI/Feature tests)
python regression/runtests.py --exclude feature_tests

5) Run Jasmine tests
- activate virtual env
- cd ../web
yarn run test:karma-once

6) Make sure to add or update help docs and screenshot(s) if you have added
any new feature or changed any existing one.

--
Regards,
Murtuza Zabuawala
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
<===================================================>

But I am facing some issues,
Step 1,2,3 and 5 had no issues
But when I tried step 4 it gave some errors
I executed the following command

*python regression/runtests.py *

I got the following errors:
1)The screenshot attached show I wasnt able to connect to the server
2) the error ouput on the command line:
=============Running the test cases for 'PostgreSQL 9.4'=============
Traceback (most recent call last):
  File "/var/www/flask/pgadmin4/pgadmin4/web/regression/
python_test_utils/test_utils.py", line 128, in create_database
    server['sslmode']
  File "/var/www/flask/pgadmin4/pgadmin4/web/regression/
python_test_utils/test_utils.py", line 36, in get_db_connection
    sslmode=sslmode
  File "/var/www/flask/pgadmin4/local/lib/python2.7/site-
packages/psycopg2/__init__.py", line 130, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
OperationalError: FATAL:  password authentication failed for user "postgres"
FATAL:  password authentication failed for user "postgres"

Traceback (most recent call last):
  File "regression/runtests.py", line 350, in <module>
    server_information = test_utils.create_parent_server_node(server)
  File "/var/www/flask/pgadmin4/pgadmin4/web/regression/
python_test_utils/test_utils.py", line 491, in create_parent_server_node
    server_info['sslmode']
  File "/var/www/flask/pgadmin4/pgadmin4/web/regression/
python_test_utils/test_utils.py", line 36, in get_db_connection
    sslmode=sslmode
  File "/var/www/flask/pgadmin4/local/lib/python2.7/site-
packages/psycopg2/__init__.py", line 130, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: FATAL:  password authentication failed for user
"postgres"
FATAL:  password authentication failed for user "postgres"

Traceback (most recent call last):
  File "/var/www/flask/pgadmin4/pgadmin4/web/regression/
python_test_utils/test_utils.py", line 619, in _cleanup
    connection = get_db_server(database["server_id"])
  File "/var/www/flask/pgadmin4/pgadmin4/web/regression/
python_test_utils/test_utils.py", line 593, in get_db_server
    db_name, username, db_password, host, db_port, ssl_mode
  File "/var/www/flask/pgadmin4/pgadmin4/web/regression/
python_test_utils/test_utils.py", line 36, in get_db_connection
    sslmode=sslmode
  File "/var/www/flask/pgadmin4/local/lib/python2.7/site-
packages/psycopg2/__init__.py", line 130, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
OperationalError: FATAL:  password authentication failed for user "postgres"
FATAL:  password authentication failed for user "postgres"

I have no password authentication errors when I am connecting from the
application.I had also changed password for postgres manually through the
command line.
diff --git a/Makefile b/Makefile
index 12059c97..159d3be5 100644
--- a/Makefile
+++ b/Makefile
@@ -14,7 +14,7 @@ SHELL = /bin/sh
 #########################################################################
 
 # Include only platform-independent builds in all
-all: docs pip src
+all: docs pip src runtime-release
 
 appbundle: docs
 	./pkg/mac/build.sh
@@ -46,8 +46,17 @@ check-feature: install-node bundle
 check-js: install-node linter
 	cd web && yarn run karma start --single-run
 
+runtime-debug: 
+	cd runtime && qmake CONFIG+=debug && make
+
+runtime-release:
+	cd runtime && qmake CONFIG+=release && make
+
 # Include all clean sub-targets in clean
-clean: clean-appbundle clean-docker clean-dist clean-docs clean-pip clean-src
+clean: clean-appbundle clean-docker clean-dist clean-docs clean-pip clean-src clean-runtime
+
+clean-runtime:
+	cd runtime && make clean
 
 clean-appbundle:
 	rm -rf mac-build/

---

From: Rahul Soshte <[email-masked]>
Date: Thu, 22 Mar 2018 15:00:17 +0530

how do I resolve those errors in step 4 of the checklist?

On Thu, Mar 22, 2018 at 2:58 PM, Rahul Soshte <[email-masked]>
wrote:

> 6) Make sure to add or update help docs and screenshot(s) if you have
> added any new feature or changed any existing one.
>
> --
> Regards,
> Murtuza Zabuawala
>   File "/var/www/flask/pgadmin4/pgadmin4/web/regression/python_test_utils/test_utils.py",
> line 128, in create_database
>     server['sslmode']
>   File "/var/www/flask/pgadmin4/pgadmin4/web/regression/python_test_utils/test_utils.py",
> line 36, in get_db_connection
>     sslmode=sslmode
>   File "/var/www/flask/pgadmin4/local/lib/python2.7/site-packages/psycopg2/__init__.py",
> line 130, in connect
>   File "/var/www/flask/pgadmin4/pgadmin4/web/regression/python_test_utils/test_utils.py",
> line 491, in create_parent_server_node
>     server_info['sslmode']
>   File "/var/www/flask/pgadmin4/pgadmin4/web/regression/python_test_utils/test_utils.py",
> line 36, in get_db_connection
>     sslmode=sslmode
>   File "/var/www/flask/pgadmin4/local/lib/python2.7/site-packages/psycopg2/__init__.py",
> line 130, in connect
>   File "/var/www/flask/pgadmin4/pgadmin4/web/regression/python_test_utils/test_utils.py",
> line 619, in _cleanup
>   File "/var/www/flask/pgadmin4/pgadmin4/web/regression/python_test_utils/test_utils.py",
> line 593, in get_db_server
>   File "/var/www/flask/pgadmin4/pgadmin4/web/regression/python_test_utils/test_utils.py",
> line 36, in get_db_connection
>     sslmode=sslmode
>   File "/var/www/flask/pgadmin4/local/lib/python2.7/site-packages/psycopg2/__init__.py",
> line 130, in connect

---

From: Murtuza Zabuawala <[email-masked]>
Date: Thu, 22 Mar 2018 15:05:06 +0530

You need to make SERVER_MODE = False in config_local.py in order to run
feature tests.

On Thu, Mar 22, 2018 at 3:00 PM, Rahul Soshte <[email-masked]>
wrote:

>> psycopg2.OperationalError: FATAL:  password authentication failed for
>> user "postgres"

---

From: Rahul Soshte <[email-masked]>
Date: Thu, 22 Mar 2018 16:01:12 +0530

---------- Forwarded message ----------
From: Rahul Soshte <[email-masked]>
Date: Thu, Mar 22, 2018 at 4:01 PM
Subject: Re: Little patch for Runtime build from Top Level
Directory($PGADMIN_SRC) MakeFile
To: Murtuza Zabuawala <[email-masked]>

I am still getting the same error even when I did SERVER_MODE = False.

On Thu, Mar 22, 2018 at 3:05 PM, Murtuza Zabuawala <murtuza.zabuawala@

---

From: Rahul Soshte <[email-masked]>
Date: Thu, 22 Mar 2018 16:17:45 +0530

Although I have postgresql-9.6 it is showing
--
--
Running the test cases for 'PostgreSQL 9.4'

On Thu, Mar 22, 2018 at 4:01 PM, Rahul Soshte <[email-masked]>
wrote:

> On Thu, Mar 22, 2018 at 3:05 PM, Murtuza Zabuawala <
> [email-masked]> wrote:
>

---

From: Rahul Soshte <[email-masked]>
Date: Thu, 22 Mar 2018 16:18:37 +0530

Although I have postgresql-9.6 it is showing-Running the test cases for
'PostgreSQL 9.4'

On Thu, Mar 22, 2018 at 4:17 PM, Rahul Soshte <[email-masked]>
wrote:

>>>> On Thu, Mar 22, 2018 at 2:58 PM, Rahul Soshte <[email-masked]
>>>> > wrote:
>>>>

---

From: Murtuza Zabuawala <[email-masked]>
Date: Thu, 22 Mar 2018 16:23:17 +0530

Have you configured your local test configuration file
../pgadmin4/web/regression/test_config.json.in , Make a copy of it as
../pgadmin4/web/regression/test_config.json and update it as per your
environment to run tests.

On Thu, Mar 22, 2018 at 4:18 PM, Rahul Soshte <[email-masked]>
wrote:

>>>> You need to make SERVER_MODE = False in config_local.py in order to
>>>> run feature tests.
>>>>
>>>> --
>>>> Regards,
>>>> Murtuza Zabuawala
>>>> On Thu, Mar 22, 2018 at 3:00 PM, Rahul Soshte <[email-masked]
>>>> > wrote:
>>>>
>>>>> On Thu, Mar 22, 2018 at 2:58 PM, Rahul Soshte <
>>>>> [email-masked]> wrote:
>>>>>
>>>>>> I have no password authentication errors when I am connecting from
>>>>>> the application.I had also changed password for postgres manually through
>>>>>> the command line.
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>
>

---

From: Rahul Soshte <[email-masked]>
Date: Thu, 22 Mar 2018 16:47:05 +0530

---------- Forwarded message ----------
From: Rahul Soshte <[email-masked]>
Date: Thu, Mar 22, 2018 at 4:41 PM
Subject: Re: Little patch for Runtime build from Top Level
Directory($PGADMIN_SRC) MakeFile
To: Murtuza Zabuawala <[email-masked]>,
[email-masked]

Yes Thanks Murtuza,It Worked.
I ran all the tests again including the regression test.I have attached the
regression.log file and also the patch file.

On Thu, Mar 22, 2018 at 4:23 PM, Murtuza Zabuawala <murtuza.zabuawala@
enterprisedb.com> wrote:

>>>>> On Thu, Mar 22, 2018 at 3:00 PM, Rahul Soshte <
>>>>>>> 6) Make sure to add or update help docs and screenshot(s) if you
>>>>>>> have added any new feature or changed any existing one.
>>>>>>>
>>>>>>> --
>>>>>>> Regards,
>>>>>>> Murtuza Zabuawala
>>>>>>> psycopg2.OperationalError: FATAL:  password authentication failed
>>>>>>> for user "postgres"

 appbundle: docs
 	./pkg/mac/build.sh
 
+runtime-debug: 
 
 clean-appbundle:
 	rm -rf mac-build/
diff --git a/web/regression/test_config.json.in b/web/regression/test_config.json.in
index 47f84998..4541ae71 100644
--- a/web/regression/test_config.json.in
+++ b/web/regression/test_config.json.in
@@ -12,11 +12,11 @@
   "server_group": 1,
   "server_credentials": [
     {
-      "name": "PostgreSQL 9.4",
+      "name": "PostgreSQL 9.6",
       "comment": "PostgreSQL 9.4 Server (EDB Installer)",
       "db_username": "postgres",
       "host": "localhost",
-      "db_password": "PASSWORD",
+      "db_password": "1234",
       "db_port": 5432,
       "maintenance_db": "postgres",
       "sslmode": "prefer",

---

From: Dave Page <[email-masked]>
Date: Thu, 22 Mar 2018 11:20:31 +0000

Thanks - patch applied with a minor change of the target name
"runtime-release" to "runtime" (runtime-debug remains the same).

-- 
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

---

From: Rahul Soshte <[email-masked]>
Date: Thu, 22 Mar 2018 19:11:38 +0530

there is a small typo in the target name "all" runtime-release needs to be
changed runtime too.

---

From: Dave Page <[email-masked]>
Date: Thu, 22 Mar 2018 13:47:44 +0000

Rats, my bad. Fixed now - thanks.