Skip to content

Instantly share code, notes, and snippets.

View msabramo's full-sized avatar

Marc Abramowitz msabramo

View GitHub Profile
@msabramo
msabramo / files_from_fixtures_in_cypress.js
Last active March 7, 2019 18:43
Trying to get File objects from fixtures in Cypress.io
function getFile(f) {
return new Cypress.Promise((resolve, reject) => {
return cy.fixture(f).then((img) => {
const file = makeFile({
name: f,
dataURL: `data:image/${f.slice(f.length - 3)};base64,${img}`,
})
resolve(file)
})
})
@msabramo
msabramo / swagger.yaml
Last active August 23, 2018 16:45
Toy swagger file
openapi: 3.0.0
info:
title: Sample API
description: Optional multiline or single-line description in [CommonMark](http://commonmark.org/help/) or HTML.
version: 0.1.9
servers:
- url: http://api.example.com/v1
description: Optional server description, e.g. Main (production) server
- url: http://staging-api.example.com
description: Optional server description, e.g. Internal staging server for testing
@msabramo
msabramo / locustfile.py
Created February 22, 2018 00:49
A sample locustfile.py
from locust import HttpLocust, TaskSet, task
class UserBehavior(TaskSet):
# def on_start(self):
# """ on_start is called when a Locust start before any task is scheduled """
# self.login()
@task(2)
def index(self):
@msabramo
msabramo / get-serial-number.exp
Created September 30, 2017 16:01
Script to get the serial number of a Mac OS computer
#!/usr/bin/expect -f
#
# Script to get the serial number of a Mac
#
set timeout 10
log_user 0
spawn /bin/sh -c "ioreg -rac IOPlatformExpertDevice | xpath 'plist/array/dict/key\[.=\"IOPlatformSerialNumber\"\]/following-sibling::*\[position()=1\]/text()' 2>/dev/null"
expect eof
set serial $expect_out(buffer)
puts $serial
@msabramo
msabramo / keybase.md
Created July 8, 2016 20:33
Proving my identity for keybase.io

Keybase proof

I hereby claim:

  • I am msabramo on github.
  • I am msabramo (https://keybase.io/msabramo) on keybase.
  • I have a public key ASAlHNkORhOLjfgneM_MPvQgkgP-7nodqWEmFfgrpL85tQo

To claim this, I am signing this object:

@msabramo
msabramo / mock_patch_multiple_targets.py
Created September 11, 2015 19:42
Mock patch multiple targets in Python
@contextlib.contextmanager
def multiple_targets(mock_patches):
"""
`mock_patches` is a list (or iterable) of mock.patch objects
Example usage:
with mock.patch.multiple_targets([
mock.patch('os.path.exists', side_effect=mock_path_exists),
mock.patch('subprocess.Popen'),
@msabramo
msabramo / multiple_mocks.py
Created September 11, 2015 16:12
A Python context manager for doing multiple mock.patches
@contextlib.contextmanager
def multiple_mocks(mock_specs):
"""
`mock_specs` is a dict of mock target name => mock patch kwargs
Example usage:
with multiple_mocks(
{'os.path.exists': {'side_effect': mock_path_exists},
'subprocess.Popen': {},
@msabramo
msabramo / Instructions.md
Last active August 29, 2015 14:25 — forked from dtrapezoid/Instructions.md
Becoming Friends with Cassandra Workshop Instructions

Instructions for "Becoming Friends with Cassandra"

Go here:

https://gitter.im/DataStaxCommunity/Cassandra_Spark

Where do I start?

To start communicating with Cassandra like a champ, Cassandra's Query Language (CQL) is your best bet. CQL is an SQL-like language, which makes it warm and fuzzy for those of us used to SQL, but don't let that fool you...

We still have to think about how we "converse" with Cassandra differently. When we model our data, we need to think about how we will access it before we model it. It's important to emphasize this point, because you can get into some very ugly territory if you model Cassandra like a relational database. Data Modeling with Cassandra is purely query-driven.

@msabramo
msabramo / human_log.py
Last active September 11, 2015 19:30 — forked from cliffano/human_log.py
import os
FIELDS = os.environ.get('ANSIBLE_HUMAN_LOG_FIELDS').split(',')
if not FIELDS:
FIELDS = ['cmd', 'command', 'start', 'end', 'delta', 'msg', 'stdout', 'stderr']
def human_log(res):
if type(res) == type(dict()):
for field in FIELDS:
@msabramo
msabramo / gist:05ca407f20c36da2c133
Created June 9, 2015 15:27
FreeTDS 0.95 ChangeLog
Finally, after years of improvements and fixes we got a new version
Summary of Changes in release 0.95
--------------------------------------------
User visible (not in a particular order):
- Support for build with CMake under Windows.
- Support MSSQL 2008:
- new date/time types;
- NBCROWs;
- able to retrieve CLR UDT types in binary format.