Skip to content
This repository was archived by the owner on May 17, 2024. It is now read-only.

Conversation

@cfernhout
Copy link
Collaborator

Now added testing for also Postgres with the unit test as is. Postgres unit tests are mostly failing for now.

@linear
Copy link

linear bot commented May 13, 2022

DAT-3282 Set up CI

Why and what

Supporting material (links, screenshots, documents, logs, stacktraces)

.

@cfernhout cfernhout requested review from erezsh and sirupsen May 13, 2022 15:14
logging.basicConfig(level=logging.WARN)

TEST_MYSQL_CONN_STRING = "mysql://mysql:Password1@localhost/mysql"
TEST_CONN_STRING = os.environ.get("TEST_CONN_STRING", "mysql://mysql:Password1@localhost/mysql")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's probably better to remove the default and throw an error message Because the error "bad username" or "no such database" can be confusing, and no one will know to look here for it.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds reasonable. Will change that.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My idea initially to use this as a default is that nothing would change. FYI ;)

db-conn: [
{db: mysql, conn: "mysql://mysql:Password1@localhost/mysql"},
{db: postgres, conn: "postgres://postgres:Password1@localhost/postgres"}
]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like how it's progressing!

@sirupsen
Copy link
Contributor

Hmmm... it's interesting to write the suite generically, and then have CI run against all of them. What I don't love about it though is that it doesn't run them all locally, but that also doesn't seem completely realistic... hmmm

@erezsh
Copy link
Contributor

erezsh commented May 16, 2022

If you're referring to the cloud databases, maybe we can randomize the dataset name, so there won't be any collisions? (unless that's not the issue)

@cfernhout
Copy link
Collaborator Author

@sirupsen If I understand you correctly, the thing that you don't love is that you need to fire multiple commands with multiple environment variables to run them all locally? I think we could use a make file, such that it is still only one command. Like make test which runs basically them all.

@cfernhout
Copy link
Collaborator Author

@erezsh The tests are not referring to cloud databases. They could be empty databases for all that matter. I don't think we want to make our unit tests dependent on external databases. If we would write other types of tests, like integration tests or performance tests, then using external cloud databases would be reasonable.

@erezsh
Copy link
Contributor

erezsh commented May 16, 2022

@sirupsen It makes sense to me to have "short tests" that run for each commit, and "full tests" that run before a release, which can include the cloud support.

@cfernhout
Copy link
Collaborator Author

@erezsh Can you be more specific what you want to test with "full tests"? Do you mean, performance, integration (with other services), more edge cases, just more test coverage, etc?

@erezsh
Copy link
Contributor

erezsh commented May 16, 2022

It's always good to have more of everything, but I was talking about basic coverage - to see the tool runs on every database with every feature enabled.

@erezsh erezsh closed this Jul 11, 2022
nolar pushed a commit that referenced this pull request Apr 6, 2023
…umns

postgres override select_table_unique_columns
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants