Skip to content

Instantly share code, notes, and snippets.

@Ranjanivraman
Ranjanivraman / getReturnItemsManualMockTest.ts
Created July 19, 2021 13:07
getReturnItemsManualMockTest
import { getReturnItem } from "./getReturnItem";
import { ReturnItem } from "../Type/ReturnItem";
import {
awsSdkPromiseResponse,
DocumentClient,
GetItemInput,
} from "../../../__mocks__/aws-sdk/clients/dynamodb";
jest.mock("../../../__mocks__/aws-sdk/clients/dynamodb");
@Ranjanivraman
Ranjanivraman / getReturnItemUsingsdkmockTest.ts
Created July 19, 2021 13:03
getReturnItemUsingsdkmockTest.ts
import * as AWSMock from "aws-sdk-mock";
import { DocumentClient, GetItemInput } from "aws-sdk/clients/dynamodb";
import * as AWS from "aws-sdk";
import { ReturnItem } from "../Type/ReturnItem";
import { getReturnItem } from "./getReturnItem";
describe("Get Return Item from dynamodb", () => {
describe("unit", () => {
beforeAll(() => {
process.env.tablename = "dummyTableName";
@Ranjanivraman
Ranjanivraman / dynamodb.ts
Created July 19, 2021 12:56
Manual mock for document client get function
export const awsSdkPromiseResponse = jest.fn().mockReturnValue(Promise.resolve(true));
const getFn = jest.fn().mockImplementation(() => ({ promise: awsSdkPromiseResponse }));
export class DocumentClient {
get = getFn;
}
export interface GetItemInput {
TableName: string;
@Ranjanivraman
Ranjanivraman / dynamodb.ts
Created July 19, 2021 12:53
A function to return an Item using Dynamodb
export const awsSdkPromiseResponse = jest.fn().mockReturnValue(Promise.resolve(true));
const getFn = jest.fn().mockImplementation(() => ({ promise: awsSdkPromiseResponse }));
export class DocumentClient {
get = getFn;
}
export interface GetItemInput {
TableName: string;
delay: (ms: number) => Promise<void> = function(ms: number) {
return new Promise<void>(resolve => setTimeout(resolve, ms);
}
delayWithArrowFunction: (ms: number) => Promise<void> = (ms: number) =>
new Promise<void>(resolve => setTimeout(resolve, ms);
getStringArray: () => Promise<string[]> = function() {
new Promise<string[]>((resolve) => {
resolve(['a','b','c'])
getDataAfterADelay(1500, function(data) {
data.forEach((item, i, arrayOfStrings) => console.log(`${item} is the ${i} th item out of ${arrayOfStrings.length});
})
interface callbackfnInterface {
(data: string[]): void;
}
export function getDataAfterADelay(
delayMs: number,
callbackfn: callbackfnInterface,
) {
setTimeout(() => {
const data = ['1','d','3'];
@Ranjanivraman
Ranjanivraman / docker-compose.yaml
Created April 21, 2021 01:57
serverless localstack plugin
version: '3.1'
services:
localstack:
image: localstack/localstack:latest
environment:
- AWS_DEFAULT_REGION=us-east-1
- EDGE_PORT=4566
- SERVICES=lambda,s3,cloudformation,sts
ports:
@Ranjanivraman
Ranjanivraman / gist:64257081498d26308a61440dfdf209a9
Last active August 28, 2020 13:50
aws create table returns portal k8s
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: microservices-returnsportal-service
labels:
app: microservices-returnsportal-service
spec:
replicas: 1
selector:
ranjani.venkataraman@MacBook-Pro  ~/Sites/MG-Platform-LDE   feature/LDE-284-magento-rp-skaffold-ranjani ● ⍟6  time ./mg php:n98 sys:cron:run sitemap_generate
It's not recommended to run n98-magerun as root user
Run Mage_Sitemap_Model_Observer::scheduledGenerateSitemaps done
./mg php:n98 sys:cron:run sitemap_generate 0.52s user 0.89s system 1% cpu 1:11.35 total
ranjani.venkataraman@MacBook-Pro  ~/Sites/MG-Platform-LDE   feature/LDE-284-magento-rp-skaffold-ranjani ● ⍟6  time ./mg php:n98 sys:cron:run sitemap_generate
It's not recommended to run n98-magerun as root user