Conversation
changelog: Internal, Automated Testing, Improve reliability of successful automated tests
See: #7363 (comment) Co-authored-by: Zach Margolis <zachmargolis@users.noreply.github.com>
| stub_request_token | ||
| stub_request_enroll | ||
|
|
||
| expect_any_instance_of(Object).to receive(:sleep).exactly(10).times.with(0.2) |
There was a problem hiding this comment.
oh I didn't even see we had expect_any_instance_of in here! Yeah no wonder this spec was flaking :shakes-fist:!
There was a problem hiding this comment.
For my own curiosity, is it generally bad practice to use expect_any_instance_of in rspec? Or is it problematic when it's used in this specific way with sleep? (I think it's the latter, but want to check I'm not missing anything.)
There was a problem hiding this comment.
personally I think that expect_any_instance_of or allow_any_instance_of are kind of antipatterns. when stubbing, I think it's crucial to know which instance you're stubbing on, since there can be a lot of different things happening (like with a common method like sleep)
However, the _any_instance_of methods are useful in situations where we don't have access to the instances (acceptance specs, or classes that don't expose clear methods to stub), or cases like this where we don't know what instance the rake task is being called on.
And I think the issue here is that sleep is a fairly common method, and it's mixed in to every object via Kernel so it was just an unforunate combination of things that lead to this flakiness.
* Remove unreachable blank config lockout default logic (#7357) * Remove unreachable blank config lockout default logic changelog: Internal, Code Quality, Remove unreachable code paths * Replace references for removed constant * Use Rails ActiveSupport for "time ago" Co-authored-by: Zach Margolis <zachmargolis@users.noreply.github.com> Co-authored-by: Zach Margolis <zachmargolis@users.noreply.github.com> * LG-8056 Encrypt document submissions and write them to S3 (#7351) This commit adds tooling for encrypting documents and writing them to S3 after upload. This is an addition to the attempts API. Eventually a reference for the image and an encryption key will be shared with IRS via the attmepts API. IRS will be able to use that reference and key to request the images associated with a document upload event. The changes to add those values to the attempts API are out of scope for this change and will follow in another commit. The images are encrypted first with AES-256 using a randomnly generated key. The images are then uploaded to an S3 bucket with KMS encryption enabled. This offers protection that matches our current approach to PII storage, but with a partner controlled key instead of the user's password. This implementation is partner specific. Since the images are only available to service providers that are using the attempts API it should only be enabled when the attempts API is also enabled. [skip changelog] * LG-8139: Increase max OTP confirmation attempts (#7358) * LG-8139: Increase max OTP confirmation attempts changelog: Improvements, Multi-factor Authentication, Increase number of allowed MFA confirmation attempts before lock-out * Replace hard-coded max OTP attempts in specs * Fix specs, split by max attempts bucket * LG-8046: stop webauthn platform for new registrations/accounts (#7338) * changelog: Improvements, Authentication, Disable new registering of platform auth accounts * default webauthn off for now * disable webauthn * change naming convention for feature toggle * change naming convention * update webauthn platform * add feature spec for sign in * add test to ensure users dont see unneeded adding of platform auth in their account page * fix html * update spec and yml file * remove unneeded spec * dont show if u dont have face/touch unlock * update to split up webauthn platform and romaing * switch roaming and platform * Drop ial2_quota tables (#7339) [skip changelog] * Shannon/lg 7522 update contact strings (#7362) * update strings and links * update failed fraud to include correct strings and links * changelog: Improvements, Results emails, update text * update reset pw link * Drop proofing_costs table (LG-8028) (#7346) [skip changelog] * Try to fix flakey email spec (#7359) changelog: Internal, Automated Testing, Improve reliability of successful automated tests * Fix flakey IPP sample data rake spec (#7363) * Fix flakey IPP sample data rake spec changelog: Internal, Automated Testing, Improve reliability of successful automated tests * Call / stub Kernel.sleep See: #7363 (comment) Co-authored-by: Zach Margolis <zachmargolis@users.noreply.github.com> Co-authored-by: Zach Margolis <zachmargolis@users.noreply.github.com> * Add configurable phone carrier registration blocklist (#7366) changelog: Improvements, Phone Registration, Add configurable phone carrier registration blocklist * Remove unused PartnerApiReport(#7372) - Remove associated API code, basically a revert of #5054 changelog: Internal, Reporting, Remove unused reporting code * Prepare build-sass package for publish (#7370) * Prepare build-sass package for publish [skip changelog] * Re-add private field Required by linter * Add README.md * Add more package.json metadata * Add LICENSE.md * Remove files from knapsack report that no longer exist (#7373) [skip changelog] Co-authored-by: Andrew Duthie <andrew.duthie@gsa.gov> Co-authored-by: Zach Margolis <zachmargolis@users.noreply.github.com> Co-authored-by: Jonathan Hooper <jonathan.hooper@gsa.gov> Co-authored-by: Shannon A <20867088+svalexander@users.noreply.github.com> Co-authored-by: Mitchell Henke <mitchell.henke@gsa.gov>
🛠 Summary of changes
Tries to resolve a flakey spec failure caused by other parts of the code also calling
sleep.Example failure: https://gitlab.login.gov/lg/identity-idp/-/jobs/157885
📜 Testing Plan
rspec spec/lib/tasks/dev_rake_spec.rb