Skip to content

Instantly share code, notes, and snippets.

@natritmeyer
natritmeyer / mount_smbfs.sh
Created September 19, 2013 09:40
How to mount and unmount a SMB share on Mac OS X (using mount_smbfs)
#Mounting the share is a 2 stage process:
# 1. Create a directory that will be the mount point
# 2. Mount the share to that directory
#Create the mount point:
mkdir share_name
#Mount the share:
mount_smbfs //username:password@server.name/share_name share_name/
@natritmeyer
natritmeyer / get_messages_off_rabbitmq.rb
Last active February 16, 2024 13:52
Get messages off a RabbitMQ... Queue!
require 'httparty'
require 'json'
class QueueInspector
include HTTParty
basic_auth "guest", "guest"
base_uri "http://192.168.0.1:55672"
def messages
body = {'count' => 5,'requeue' => true, 'encoding' => 'auto', 'truncate' => 50000}.to_json
@natritmeyer
natritmeyer / debug_httparty_request.rb
Last active November 8, 2023 15:47
How to debug HTTParty requests
class MyResource
include HTTParty
debug_output $stdout # <= will spit out all request details to the console
#...
end
@natritmeyer
natritmeyer / install_chromedriver.sh
Created September 11, 2013 11:42
Install chromedriver on fedora
wget https://chromedriver.googlecode.com/files/chromedriver_linux64_2.3.zip
unzip chromedriver_linux64_2.3.zip
sudo cp chromedriver /usr/bin/chromedriver
sudo chown root /usr/bin/chromedriver
sudo chmod +x /usr/bin/chromedriver
sudo chmod 755 /usr/bin/chromedriver
@natritmeyer
natritmeyer / put.sh
Created July 25, 2013 10:06
PUT some XML at a resource using curl
curl -H 'Content-Type:application/xml' -X PUT -d '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><thing></thing>' http://192.168.0.1:8080/some/resource/ --user admin:password
@natritmeyer
natritmeyer / convert_duration_to_seconds.rb
Created July 28, 2015 13:14
Ruby ISO 8601 duration converter
require 'test/unit'
# implementation
class Duration
def in_seconds(raw_duration)
match = raw_duration.match(/PT(?:([0-9]*)H)*(?:([0-9]*)M)*(?:([0-9.]*)S)*/)
hours = match[1].to_i
minutes = match[2].to_i
seconds = match[3].to_f
seconds + (60 * minutes) + (60 * 60 * hours)
@natritmeyer
natritmeyer / tiniest_http_client.rb
Created August 15, 2013 14:05
The world's smallest ruby http client
require 'net/http'
class HttpClient
def initialize(base_url, username = nil, password = nil)
@base_url = base_url
@username = username
@password = password
end
def get(path, headers = {})
@natritmeyer
natritmeyer / Rakefile
Created June 10, 2013 13:49
How to add task dependencies to custom rake tasks that don't allow for the normal rake task behaviour around setting task dependencies.
# Example Rakefile that demonstrates how to add task dependencies
# to custom rake tasks that don't allow for the normal rake task
# behaviour around setting task dependencies.
require 'cucumber/rake/task'
# here's the task that I want to run before any of my cucumber tasks (see below)
namespace :stub do
desc "Start stub required by features"
task :start do
@natritmeyer
natritmeyer / Program.cs
Created May 11, 2011 18:10
A tiny c# app that operates the Open File dialog using White. Useful if you're testing a WPF app with bewildr (http://www.bewildr.info) but the app you're testing uses the old Win32 dialog boxes. The compiled exe takes one arg; the value you want typed in
/*
Create a console app, add references to the various white libraries and use the following as a template for operating the Open Dialog window
Get the white binaries from here: http://white.codeplex.com/
*/
using System.Collections.Generic;
using System.Linq;
using System.Windows.Automation;
using White.Core;
using White.Core.UIItems;
@natritmeyer
natritmeyer / unused.rb
Created April 5, 2011 20:00
Cucumber formatter for printing unused steps
# Copyright (c) 2010, Nathaniel Ritmeyer. All rights reserved.
#
# http://www.natontesting.com
#
# Save this in a file called 'unused.rb' in your 'features/support' directory. Then, to list
# all the unused steps in your project, run the following command:
#
# cucumber -d -f Cucumber::Formatter::Unused
#
# or...