Create and send any HTTP request using the Postman request builder
Postman provides a graphical way to build and send HTTP requests, with collections, environments, history, and a cookie manager for API testing.
rspec_candy is now a gem
rspec_candy packages reusable RSpec helpers as a gem, making setup and updates easier for specs that need shared test utilities.
Rails: Using custom config files with the config_for method
Global Rails settings can live in YAML files with environment-specific overrides via config_for, avoiding constant collisions and supporting fetch or bang accessors.
Scenario outlines in Cucumber
Template-based examples reduce repetition in behavior-driven tests and make repetitive cases easier to maintain.
Spreewald version 0.9.4 released
Fixes for flaky browser tests in Spreewald 0.9.4, including a resolved “I click on ...” step and broader Selenium retry handling.
Waiting for page loads and AJAX requests to finish with Capybara
Capybara browser tests can fail while page loads or AJAX requests are still pending; waiting for visible results reduces flickering and unreliable assertions.
RSpec: Scoping custom matchers to example groups
Custom RSpec matchers can stay local to one example group or selected groups, avoiding global helper pollution while reusing expectation logic.
Making Little Classes out of Big Ones
A too-large class is harder to understand, test, and change. Several refactoring approaches break it into smaller responsibilities.
Slack integration for deployments via Capistrano
Send deployment notifications from Capistrano to Slack channels using slackistrano and incoming webhooks, with customizable message formatting.
Syn - a Standalone Synthetic Event Library
Synthetic user events for typing, clicking, moving, and dragging provide realistic interaction handling for tests and automation.
How to find out the currently focused DOM element with JavaScript
document.activeElement returns the currently focused DOM element and is useful for checking focus state in JavaScript or Selenium tests.
Use Capybara on any HTML fragment or page
Capybara matchers can be applied to standalone HTML fragments or strings, not only full pages, making fragment assertions easier in test suites.
Rails: Flagging all cookies as secure-only to pass a security audit
Secure cookies are often required by audits even when a Rails app already uses HTTPS and HSTS. A middleware can add the Secure flag to server-set cookies automatically.
Configuring Git with .gitconfig
Simple Git configuration for new developers: aliases, merge and rebase defaults, better diffs, and GitLab push shortcuts.
Spec correct routing of custom URLs
When you roll custom URLs with hacks like routing-filter, you can put a spec like this into spec/routing/routing_spec.rb:
SAML Single Logout (SLO)
SAML logout can be initiated by the service provider or identity provider, with browser redirects or backchannel POSTs; devise_saml_authenticatable needs specific Rails and Keycloak logout handling.
Continuous Security Testing with Devops - OWASP EU 2014
Automated security testing integrated into a BDD workflow reduces gaps between development and security review for teams shipping software continuously.
has_many :bugs, :through => :rails: Make your shoulda tests faster with fast_context
decided to go fixtureless with Shoulda + Factory Girl. All good, except one problem. Slow as fuck tests. So here’s fast_context as a solution for it. fast_context compiles all the ‘should’s within a context into a single test.
Gatekeeping: Guide for gatekeeper
Project code is reviewed before staging to catch client rejections early and keep changes maintainable. Gatekeepers approve or reject merge requests and decide whether a review is needed.
How to: Benchmark an Active Record query with a Ruby script
Benchmarking Active Record queries needs repeated runs and cache clearing to measure realistic PostgreSQL performance; a Ruby script can report percentile timings.
RSpec: Leverage the power of Capybara Finders and Matchers for view specs
View specs can stay fast and readable by querying rendered HTML with Capybara finders and matchers instead of relying on heavier request or feature specs.
RSpec: Composing a custom matcher from existing matchers
Compose a custom RSpec matcher from existing matchers to reduce repeated expectations and keep failure messages informative.
babushka: test-driven sysadmin
The idea is this: you take a job that you'd rather not do manually, and describe it to babushka using its DSL. The way it works, babushka not only knows how to accomplish each part of the job, it also knows how to check if each part is already done. You're teaching babushka to achieve an end goal with whatever runtime conditions you throw at it, not just to perform the task that would get you there from the very start.
How to push to Git without running CI on GitLab CI, GitHub Actions, or Travis CI
Git pushes can trigger unwanted CI jobs on GitLab, GitHub Actions, or Travis CI. Skip runs with commit-message flags or GitLab push options.