g4s8 / ghman

GitHub notifications Telegram bot manager
https://t.me/ghman_bot
Other
7 stars 4 forks source link

We should enable integration tests in CI #52

Open victornoel opened 5 years ago

victornoel commented 5 years ago

Apparently running maven with -Pitcase fails the build because of some infrastructure problem.

See for example https://circleci.com/gh/g4s8/ghman/118 where it happens.

This should be fixed.

0crat commented 5 years ago

@g4s8/z please, pay attention to this issue

0crat commented 5 years ago

Job #52 is now in scope, role is DEV

0crat commented 5 years ago

Bug was reported, see §29: +15 point(s) just awarded to @victornoel/z

0crat commented 5 years ago

The job #52 assigned to @scristalli/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be no monetary reward for this job

scristalli commented 5 years ago

@victornoel @g4s8 observation: the problem is not exclusive of CircleCI, it happens when building locally too. Exceptions causing the problem:

Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: http://get.enterprisedb.com/postgresql/postgresql-11.1-1-linux-x64-binaries.tar.gz

It seems that EnterpriseDB doesn't support these unauthenticated APIs for donwloading binaries anymore, I see no documentation and I get "access denied" on all of them.

The component we are using (postgresql-embedded) should update its internal working to fix this. Its README though says that the project is not actively maintained anymore, and that the official recommended alternative is Testcontainers. For this reason, I suggest we switch to Testcontainers.

I tried doing this modification, which the super powers of OOP should make pretty smooth. Too bad, I encountered a problem: Testcontainers' containers require username/password-based authentication, and the com.jcabi.jdbc.JdbcSession class we are using doesn't allow to specify them in a connection. I opened jcabi/jcabi-jdbc#73 to address this.

What do you think? Does it seem reasonable to make this transition?

victornoel commented 5 years ago

@scristalli isn't the login/password specified at the datasource level?

0crat commented 5 years ago

@scristalli/z this job was assigned to you 5days ago. It will be taken away from you soon, unless you close it, see §8. Read this and this, please.

scristalli commented 5 years ago

@0crat wait for jcabi/jcabi-jdbc#73.

0crat commented 5 years ago

@0crat wait for jcabi/jcabi-jdbc#73. (here)

@scristalli The impediment for #52 was registered successfully by @scristalli/z

victornoel commented 5 years ago

@scristalli as I told you above, this won't be solved by jcabi-jdbc since the login/password is given to the DataSource, itself given to jcabi-jdbc. jcabi-jdbc does not care how the DataSource is created.

scristalli commented 5 years ago

@victornoel thanks for your comment, I was able to set username and password in the JDBC URL in my PR. I'm still a bit confused, everywhere I look in standard documentation (example) I see these parameters set when calling DataSource.getConnection(String username, String password), while I don't see any method to specify them in the DataSource object, so I think that by Java's original semantics they are not intended to be a property of the datasource, but rather one of the single connection.

scristalli commented 5 years ago

@0crat resign

0crat commented 5 years ago

@0crat resign (here)

@scristalli The user @scristalli/z resigned from #52, please stop working. Reason for job resignation: Order was cancelled

0crat commented 5 years ago

Tasks refusal is discouraged, see §6: -15 point(s) just awarded to @scristalli/z

0crat commented 5 years ago

The job #52 assigned to @g4s8/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be no monetary reward for this job

0crat commented 5 years ago

Manual assignment of issues is discouraged, see §19: -5 point(s) just awarded to @g4s8/z