Search in sources :

Example 1 with AWSLambdaClientFactory

use of com.nextdoor.bender.aws.AWSLambdaClientFactory in project bender by Nextdoor.

the class BaseHandlerTest method tagsCloudformation.

@Test
public void tagsCloudformation() throws HandlerException {
    BaseHandler.CONFIG_FILE = "/config/handler_config_tags_duplicate.json";
    TestContext context = new TestContext();
    context.setInvokedFunctionArn("arn:aws:lambda:us-east-1:123:function:test:test_tags");
    AWSLambdaClientFactory mockFactory = mock(AWSLambdaClientFactory.class);
    AWSLambda mockLambda = mock(AWSLambda.class);
    doReturn(mockLambda).when(mockFactory).newInstance();
    ListTagsResult mockResult = mock(ListTagsResult.class);
    HashMap<String, String> functionTags = new HashMap<String, String>() {

        {
            put("f1", "foo");
            put("aws:cloudformation:foo", "foo");
            put("aws:cloudformation:bar", "bar");
        }
    };
    doReturn(functionTags).when(mockResult).getTags();
    doReturn(mockResult).when(mockLambda).listTags(any());
    handler.lambdaClientFactory = mockFactory;
    handler.init(context);
    Map<String, String> actual = handler.monitor.getTagsMap();
    HashMap<String, String> expected = new HashMap<String, String>() {

        {
            put("f1", "foo");
            put("u1", "bar");
        }
    };
    assertTrue(actual.entrySet().containsAll(expected.entrySet()));
}
Also used : AWSLambda(com.amazonaws.services.lambda.AWSLambda) HashMap(java.util.HashMap) TestContext(com.nextdoor.bender.aws.TestContext) ListTagsResult(com.amazonaws.services.lambda.model.ListTagsResult) AWSLambdaClientFactory(com.nextdoor.bender.aws.AWSLambdaClientFactory) Test(org.junit.Test)

Example 2 with AWSLambdaClientFactory

use of com.nextdoor.bender.aws.AWSLambdaClientFactory in project bender by Nextdoor.

the class BaseHandlerTest method testLambdaFunctionTags.

@Test
public void testLambdaFunctionTags() throws HandlerException {
    BaseHandler.CONFIG_FILE = "/config/handler_config_tags.json";
    TestContext context = new TestContext();
    context.setInvokedFunctionArn("arn:aws:lambda:us-east-1:123:function:test:test_tags");
    AWSLambdaClientFactory mockFactory = mock(AWSLambdaClientFactory.class);
    AWSLambda mockLambda = mock(AWSLambda.class);
    doReturn(mockLambda).when(mockFactory).newInstance();
    ListTagsResult mockResult = mock(ListTagsResult.class);
    HashMap<String, String> expected = new HashMap<String, String>() {

        {
            put("t1", "foo");
            put("t2", "bar");
        }
    };
    doReturn(expected).when(mockResult).getTags();
    doReturn(mockResult).when(mockLambda).listTags(any());
    handler.lambdaClientFactory = mockFactory;
    handler.init(context);
    Map<String, String> actual = handler.monitor.getTagsMap();
    assertTrue(actual.entrySet().containsAll(expected.entrySet()));
}
Also used : AWSLambda(com.amazonaws.services.lambda.AWSLambda) HashMap(java.util.HashMap) TestContext(com.nextdoor.bender.aws.TestContext) ListTagsResult(com.amazonaws.services.lambda.model.ListTagsResult) AWSLambdaClientFactory(com.nextdoor.bender.aws.AWSLambdaClientFactory) Test(org.junit.Test)

Example 3 with AWSLambdaClientFactory

use of com.nextdoor.bender.aws.AWSLambdaClientFactory in project bender by Nextdoor.

the class BaseHandlerTest method tagsDuplicate.

@Test
public void tagsDuplicate() throws HandlerException {
    BaseHandler.CONFIG_FILE = "/config/handler_config_tags_duplicate.json";
    TestContext context = new TestContext();
    context.setInvokedFunctionArn("arn:aws:lambda:us-east-1:123:function:test:test_tags");
    AWSLambdaClientFactory mockFactory = mock(AWSLambdaClientFactory.class);
    AWSLambda mockLambda = mock(AWSLambda.class);
    doReturn(mockLambda).when(mockFactory).newInstance();
    ListTagsResult mockResult = mock(ListTagsResult.class);
    HashMap<String, String> functionTags = new HashMap<String, String>() {

        {
            put("f1", "foo");
            put("f2", "foo");
        }
    };
    doReturn(functionTags).when(mockResult).getTags();
    doReturn(mockResult).when(mockLambda).listTags(any());
    handler.lambdaClientFactory = mockFactory;
    handler.init(context);
    Map<String, String> actual = handler.monitor.getTagsMap();
    HashMap<String, String> expected = new HashMap<String, String>() {

        {
            put("f1", "foo");
            put("f2", "foo");
            put("u1", "bar");
        }
    };
    assertTrue(actual.entrySet().containsAll(expected.entrySet()));
}
Also used : AWSLambda(com.amazonaws.services.lambda.AWSLambda) HashMap(java.util.HashMap) TestContext(com.nextdoor.bender.aws.TestContext) ListTagsResult(com.amazonaws.services.lambda.model.ListTagsResult) AWSLambdaClientFactory(com.nextdoor.bender.aws.AWSLambdaClientFactory) Test(org.junit.Test)

Aggregations

AWSLambda (com.amazonaws.services.lambda.AWSLambda)3 ListTagsResult (com.amazonaws.services.lambda.model.ListTagsResult)3 AWSLambdaClientFactory (com.nextdoor.bender.aws.AWSLambdaClientFactory)3 TestContext (com.nextdoor.bender.aws.TestContext)3 HashMap (java.util.HashMap)3 Test (org.junit.Test)3