Skip to content

Instantly share code, notes, and snippets.

View neverendingqs's full-sized avatar

Mark Tse neverendingqs

View GitHub Profile
@neverendingqs
neverendingqs / git-perms-change-windows.txt
Created January 12, 2018 16:26
Changing file permissions in Git on Windows
# Taken from http://blog.lesc.se/2011/11/how-to-change-file-premissions-in-git.html on January 12, 2018
>git ls-tree HEAD
100644 blob 55c0287d4ef21f15b97eb1f107451b88b479bffe script.sh
>git update-index --chmod=+x script.sh
>git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
$ git grep --break -p authCodeScope
src/lib/utility.js=module.exports = {
src/lib/utility.js: authCodeScope: process.env.DEFAULT_AUTH_CODE_SCOPE,
src/lib/views.js=var index = function(req, cookie, error) {
src/lib/views.js: authCodeScope: cookie.authCodeScope,
src/server.js=app.post('/auth', function(req, res) {
src/server.js: cookie.authCodeScope = req.body.scope;
@neverendingqs
neverendingqs / example.json
Last active August 17, 2018 01:35
2017/09/24/aws-lambda-notprincipal - example.json
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyObjectDeleteWithWhitelist",
"Effect": "Deny",
"NotPrincipal": {
"AWS": [
"arn:aws:iam::123456789012:role/SuperRoleOne",
"arn:aws:iam::123456789012:role/SuperRoleTwo"
@neverendingqs
neverendingqs / nonworkingexample.json
Last active August 17, 2018 01:37
2017/09/24/aws-lambda-notprincipal - nonworkingexample.json
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyObjectDeleteWithWhitelist",
"Effect": "Deny",
"NotPrincipal": {
"AWS": [
"arn:aws:iam::123456789012:role/my-lambda-role"
]
@neverendingqs
neverendingqs / workingexample.json
Last active August 17, 2018 01:37
2017/09/24/aws-lambda-notprincipal - workingexample.json
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyObjectDeleteWithWhitelist",
"Effect": "Deny",
"NotPrincipal": {
"AWS": [
"arn:aws:iam::123456789012:role/my-lambda-role",
"arn:aws:sts::123456789012:assumed-role/my-lambda-role/my-lambda-function"
@neverendingqs
neverendingqs / summary.js
Last active August 17, 2018 02:04
2017/03/13/ensure-all-nock-interceptors-are-used.html - summary.js
// Example for mocha; translate as needed for your favourite test framework
afterEach(function() {
...
if(!nock.isDone()) {
this.test.error(new Error('Not all nock interceptors were used!'));
nock.cleanAll();
}
...
});
@neverendingqs
neverendingqs / simple-example.js
Created August 17, 2018 02:05
2017/03/13/ensure-all-nock-interceptors-are-used.html - simple-example.js
'use strict';
const request = require('superagent');
const express = require('express');
const app = express();
app.get('/', function(req, res) {
request
.get('https://www.example.com')
.then(response => res.send(response.text));
@neverendingqs
neverendingqs / simple-example-nock.js
Created August 17, 2018 02:06
2017/03/13/ensure-all-nock-interceptors-are-used.html - simple-example-nock.js
'use strict';
const assert = require('chai').assert;
const nock = require('nock');
const request = require('supertest');
const uniqueValue = 'da64daaf-182b-4af6-a4af-09727bf8d5aa';
const app = require('../../src/server');
describe('server', function() {
it('GET / once', function() {
@neverendingqs
neverendingqs / fiveinterceptors.js
Created August 18, 2018 01:25
2017/03/13/ensure-all-nock-interceptors-are-used.html - fiveinterceptors.js
'use strict';
const assert = require('chai').assert;
const nock = require('nock');
const request = require('supertest');
const uniqueValue = 'da64daaf-182b-4af6-a4af-09727bf8d5aa';
const app = require('../../src/server');
describe('server', function() {
it('GET / once', function() {
@neverendingqs
neverendingqs / updatedserver.js
Created August 18, 2018 01:26
2017/03/13/ensure-all-nock-interceptors-are-used.html - updatedserver.js
'use strict';
const request = require('superagent');
const express = require('express');
const app = express();
app.get('/', function(req, res) {
request
.get('https://www.example.com')
.then(response => res.send(response.text))