Thanks patch applied.

On Mon, May 15, 2017 at 6:19 AM, Matthew Kleiman <mklei...@pivotal.io>
wrote:

> Hi Akshay
>
> I really appreciate you taking a look at this on a Sunday!
> I am not able to get access to my work computer to run your changes
> directly. From what you are saying, though, it sounds like a reasonable
> change. If this change is passing in your environment, I say go ahead and
> make the change to the patch and commit.
>
> Thanks again for helping us get this into the release.
>
> Best,
> Matt
>
> On Sun, May 14, 2017 at 4:52 AM, Akshay Joshi <
> akshay.jo...@enterprisedb.com> wrote:
>
>> Hi Joao
>>
>> On Fri, May 12, 2017 at 11:23 PM, Joao Pedro De Almeida Pereira <
>> jdealmeidapere...@pivotal.io> wrote:
>>
>>> Hello Akshay,
>>>
>>> You can find attached a new version of the patch that changes the test
>>> in question.
>>> This new version instead of requiring a creation of a new Role now does
>>> the following:
>>> 1 - Creates a new Role
>>> 2 - Creates a table with that Role
>>> 3 - Checks for dependencies
>>>
>>
>>    Test case still failing on my machine because when we create new Role
>> it is without password and when we try to create table with that role first
>> we will try to connect the database using that new role with
>> servers['db_password'] which is wrong. I have modified setup function of "
>> *test_role_dependencies_sql.py*" and it works, we can create new role
>> using database server's password
>>
>> Old setup function:
>>       *def *setUp(self):
>>
>>     create_role(self.server, *"testpgadmin"*)
>>     self.server_with_modified_user = self.server.copy()
>>     self.server_with_modified_user[*'username'*] = *"testpgadmin"*
>>
>>
>> Modified setup function:
>>
>>
>>    def setUp(self):
>>
>>     with test_utils.Database(self.server) as (connection, database_name):
>>         cursor = connection.cursor()
>>         try:
>>             cursor.execute(
>>                 "CREATE ROLE testpgadmin LOGIN PASSWORD '%s'"
>>                 % self.server['db_password'])
>>         except Exception as exception:
>>             print(exception)
>>         connection.commit()
>>
>>     self.server_with_modified_user = self.server.copy()
>>     self.server_with_modified_user['username'] = "testpgadmin"
>>
>>
>>    If the above logic looks good to you then I'll commit the code.
>>
>>>
>>> Thanks
>>> Joao & George
>>>
>>> On Thu, May 11, 2017 at 7:33 AM, Joao Pedro De Almeida Pereira <
>>> jdealmeidapere...@pivotal.io> wrote:
>>>
>>>> Hello all,
>>>> This test is trying to check if the sql to retrieve the role
>>>> dependencies of a object in the database is correct. Using a different user
>>>> to connect to the database and create tables there is no need for extra
>>>> setup because the role depedencies table entry is added automatically. Also
>>>> we talked with some internal users and they told us they always used a
>>>> different user to connect to the database with pgadmin.
>>>>
>>>> After your comments we realize that the test need to have a different
>>>> setup in order to become more readable and resilient. What do we need to do
>>>> in the test setup to ensure an entry is added to the role dependency table?
>>>>
>>>> Also the test need to be a little bit more resilient to work
>>>> independently of the user that is used on the test.
>>>>
>>>> Thanks
>>>> Joao
>>>>
>>>> On Thu, May 11, 2017, 3:20 AM Khushboo Vashi <
>>>> khushboo.va...@enterprisedb.com> wrote:
>>>>
>>>>> On Thu, May 11, 2017 at 12:03 PM, Dave Page <dp...@pgadmin.org> wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>> On 11 May 2017, at 07:11, Akshay Joshi <akshay.jo...@enterprisedb.com>
>>>>>> wrote:
>>>>>>
>>>>>> Hi Sarah
>>>>>>
>>>>>> On Thu, May 11, 2017 at 2:30 AM, Sarah McAlear <smcal...@pivotal.io>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi Ashkay!
>>>>>>>
>>>>>>> TestTablesNodeSql hasn't failed but TestRoleDependenciesSql failed
>>>>>>>> with below error:
>>>>>>>>     .....\test_role_dependencies_sql.py\", line 41, in assertions\n
>>>>>>>>  self.assertEqual(1, len(fetch_result))\nAssertionError: 1 != 0
>>>>>>>
>>>>>>>
>>>>>>> We experienced a similar problem when we started developing this
>>>>>>> patch. We noticed that we were connecting to the database with the super
>>>>>>> user (the db owner user), which did not create the role we are expecting
>>>>>>> when a table is created. To ensure that this role is created, we had to
>>>>>>> create a new user and use it to execute all the tests. After we made 
>>>>>>> this
>>>>>>> change, the tests passed.
>>>>>>>
>>>>>>> Can you try to create a new user and use it to execute your tests?
>>>>>>>
>>>>>>
>>>>>>     I did that and it works. I have created new user 'test' with
>>>>>> superuser privileges and update parameter db_username="test" in
>>>>>> test_config.json file. But still I am unable to understand why it doesn't
>>>>>> work with 'postgres' (default) user?
>>>>>>
>>>>>>
>>>>>> Agreed. That suggests something fishy is going on that should be
>>>>>> understood.
>>>>>>
>>>>>>
>>>>> We don't check role dependencies for every object. As per the code,
>>>>> the role dependencies are executed for columns not for the table itself.
>>>>> And in the test cases, the table object is trying to execute the role
>>>>> dependencies, so I think this test case is not correct.
>>>>>
>>>>>>
>>>>>>> Thanks,
>>>>>>> João & Sarah
>>>>>>>
>>>>>>> On Wed, May 10, 2017 at 1:56 PM, Akshay Joshi <
>>>>>>> akshay.jo...@enterprisedb.com> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On May 10, 2017 19:07, "Sarah McAlear" <smcal...@pivotal.io> wrote:
>>>>>>>>
>>>>>>>> Hi Akshay!
>>>>>>>>
>>>>>>>> Does this error occur on 9.6 or 10.0? We tested it in 9.6 and all
>>>>>>>> our tests pass.
>>>>>>>>
>>>>>>>>
>>>>>>>>     On both 9.6 and 10.0. Query returned 0 rows which is compared
>>>>>>>> against 1 in assert statement.
>>>>>>>>
>>>>>>>>
>>>>>>>> Thanks!
>>>>>>>> João & Sarah
>>>>>>>>
>>>>>>>> On Wed, May 10, 2017 at 2:29 AM, Akshay Joshi <
>>>>>>>> akshay.jo...@enterprisedb.com> wrote:
>>>>>>>>
>>>>>>>>> Hi Sarah
>>>>>>>>>
>>>>>>>>> On Tue, May 9, 2017 at 9:03 PM, Sarah McAlear <smcal...@pivotal.io
>>>>>>>>> > wrote:
>>>>>>>>>
>>>>>>>>>> Hi Akshay!
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> Some test file names ended with "*_sql_template.py*" do we need
>>>>>>>>>>> to add that string ?
>>>>>>>>>>
>>>>>>>>>> we added this suffix after moving the tests up a level to
>>>>>>>>>> tables/tests to clarify what subject they applied to. we changed the 
>>>>>>>>>> suffix
>>>>>>>>>> to "_sql.py"
>>>>>>>>>>
>>>>>>>>>> - Files "test_column_acl_sql_template.py" and "
>>>>>>>>>>> test_column_properties_sql_template.py" should be moved from
>>>>>>>>>>> tables->tests to tables->column->tests. As it's related to column.
>>>>>>>>>>> - Files "test_trigger_get_oid_sql_template.py" and "
>>>>>>>>>>> test_trigger_nodes_sql_template.py" should be moved from
>>>>>>>>>>> tables->tests to tables->triggers->tests. As its related to 
>>>>>>>>>>> triggers.
>>>>>>>>>>
>>>>>>>>>> these tests are related to the sql files in
>>>>>>>>>> tables/templates/column, not tables/column, so moving them into
>>>>>>>>>> tables/column would be more confusing.
>>>>>>>>>>
>>>>>>>>>> Following test cases are failing
>>>>>>>>>>
>>>>>>>>>> Thank you, fixed, see new patch. Can you confirm that
>>>>>>>>>> TestTablesNodeSql doesn't fail in your environment?
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>     TestTablesNodeSql hasn't failed but TestRoleDependenciesSql
>>>>>>>>> failed with below error:
>>>>>>>>>     .....\test_role_dependencies_sql.py\", line 41, in assertions
>>>>>>>>> \n self.assertEqual(1, len(fetch_result))\nAssertionError: 1 != 0
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>> George & Sarah
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> *Akshay Joshi*
>>>>>>>>> *Principal Software Engineer *
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> *Phone: +91 20-3058-9517 <+91%2020%203058%209517>Mobile: +91
>>>>>>>>> 976-788-8246 <+91%2097678%2088246>*
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> *Akshay Joshi*
>>>>>> *Principal Software Engineer *
>>>>>>
>>>>>>
>>>>>>
>>>>>> *Phone: +91 20-3058-9517 <+91%2020%203058%209517>Mobile: +91
>>>>>> 976-788-8246 <+91%2097678%2088246>*
>>>>>>
>>>>>>
>>>
>>
>>
>> --
>> *Akshay Joshi*
>> *Principal Software Engineer *
>>
>>
>>
>> *Phone: +91 20-3058-9517 <+91%2020%203058%209517>Mobile: +91 976-788-8246
>> <+91%2097678%2088246>*
>>
>
>


-- 
*Akshay Joshi*
*Principal Software Engineer *



*Phone: +91 20-3058-9517Mobile: +91 976-788-8246*

Reply via email to