/* * Copyright OpenSearch Contributors * SPDX-License-Identifier: Apache-2.0 */ package org.opensearch.securityanalytics.rules.modifiers; import org.opensearch.securityanalytics.rules.exceptions.SigmaDetectionError; import org.opensearch.securityanalytics.rules.exceptions.SigmaModifierError; import org.opensearch.securityanalytics.rules.exceptions.SigmaRegularExpressionError; import org.opensearch.securityanalytics.rules.exceptions.SigmaValueError; import org.opensearch.securityanalytics.rules.objects.SigmaDetections; import org.opensearch.securityanalytics.rules.types.SigmaString; import org.opensearch.securityanalytics.rules.types.SigmaType; import org.opensearch.securityanalytics.rules.utils.Either; import java.util.Collections; import java.util.List; public class SigmaBase64ModifierTests extends SigmaModifierTests { public void testBase64() throws SigmaRegularExpressionError, SigmaValueError, SigmaModifierError { List values = new SigmaBase64Modifier(dummyDetectionItem(), Collections.emptyList()).apply(Either.left(new SigmaString("foobar"))); assertTrue(values.get(0) instanceof SigmaString); assertEquals("Zm9vYmFy", values.get(0).toString()); } public void testBase64Wildcards() { Exception exception = assertThrows(SigmaValueError.class, () -> { new SigmaBase64Modifier(dummyDetectionItem(), Collections.emptyList()).apply(Either.left(new SigmaString("foo*bar"))); }); String expectedMessage = "Base64 encoding of strings with wildcards is not allowed"; String actualMessage = exception.getMessage(); assertTrue(actualMessage.contains(expectedMessage)); } }