Skip to content
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

Merged
merged 1 commit into from
Sep 22, 2017
Merged

Conversation

elyezer
Copy link
Contributor

@elyezer elyezer commented Sep 22, 2017

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

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
@elyezer elyezer requested a review from kdelee September 22, 2017 18:44
@coveralls
Copy link

coveralls commented Sep 22, 2017

Coverage Status

Coverage remained the same at 77.907% when pulling 1af990e on issues/32 into 3aad992 on master.

Copy link
Contributor

@kdelee kdelee left a 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]
Copy link
Contributor

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.

Copy link
Contributor Author

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.

Copy link
Contributor

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?

Copy link
Contributor Author

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

@elyezer elyezer merged commit 1af990e into master Sep 22, 2017
@elyezer elyezer deleted the issues/32 branch September 22, 2017 19:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants