-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Assert for exact facts match on fact related tests #36
Conversation
Add the list of facts that RHO scan's for and update the fact related tests to match for the exact match of the expected facts. Closes #32
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks!
I could use these constants over in the remote scan test but I don't think this PR has to do that.
I have one question but its not a blocker.
@@ -45,12 +53,15 @@ def test_fact_list_filter(): | |||
:steps: Run ``rho fact list --filter <filter>`` | |||
:expectedresults: Only the facts that match the filter are printed. | |||
""" | |||
rho_fact_list = pexpect.spawn('rho fact list --filter connection') | |||
facts = random.choice((RHO_CONNECTION_FACTS, RHO_JBOSS_FACTS)) | |||
fact_filter = facts[0].split('.')[0] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So it looks like you are randomly chooses which to test.
What motivated that choice? Will it be easy to tell which once failed if we get a failure?
I would think instead to parametrize the test on this list and test both, that way if we get failures easy to figure out which one failed?
Maybe it would be clear if it failed, I'm not 100% certain what failure out put would be for this test.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The initial thought for this test was to ensure the fact list can be filtered, so it does really matter which fact subset we are looking for. I decided to use random to make sure we can test different values and try to reduce the chance to work only for an specific subset.
Having a parametrized test is a good idea. But I would recommend something slightly different, since it accepts a regex I would parametrize by a string as a field or a real regex. This improvement deserve an issue by its own I think.
If you agree, let's open an issue to test using a string or a regex and we can leave this as it is and improve later. The goal here is to match for the exact expected facts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
You'll open the issue?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just created #37 to track this
Add the list of facts that RHO scan's for and update the fact related
tests to match for the exact match of the expected facts.
Closes #32