Skip to content

Commit

Permalink
Fixed jacoco for opensearch module
Browse files Browse the repository at this point in the history
Signed-off-by: Guian Gumpac <guian.gumpac@improving.com>
  • Loading branch information
GumpacG committed Aug 18, 2023
1 parent 95d5285 commit 4c35cbf
Show file tree
Hide file tree
Showing 10 changed files with 282 additions and 1,560 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -66,4 +66,247 @@ public class OpenSearchFunctionsTest extends ExpressionTestBase {
new NamedArgumentExpression("boost", DSL.literal("2.0"));
private final NamedArgumentExpression slop =
new NamedArgumentExpression("slop", DSL.literal("3"));
}

@Test
void match() {
FunctionExpression expr = DSL.match(field, query);
assertEquals(BOOLEAN, expr.type());

expr = DSL.match(field, query, analyzer);
assertEquals(BOOLEAN, expr.type());

expr = DSL.match(field, query, analyzer, autoGenerateSynonymsPhrase);
assertEquals(BOOLEAN, expr.type());

expr = DSL.match(field, query, analyzer, autoGenerateSynonymsPhrase, fuzziness);
assertEquals(BOOLEAN, expr.type());

expr = DSL.match(field, query, analyzer, autoGenerateSynonymsPhrase, fuzziness, maxExpansions);
assertEquals(BOOLEAN, expr.type());

expr =
DSL.match(
field,
query,
analyzer,
autoGenerateSynonymsPhrase,
fuzziness,
maxExpansions,
prefixLength);
assertEquals(BOOLEAN, expr.type());

expr =
DSL.match(
field,
query,
analyzer,
autoGenerateSynonymsPhrase,
fuzziness,
maxExpansions,
prefixLength,
fuzzyTranspositions);
assertEquals(BOOLEAN, expr.type());

expr =
DSL.match(
field,
query,
analyzer,
autoGenerateSynonymsPhrase,
fuzziness,
maxExpansions,
prefixLength,
fuzzyTranspositions,
fuzzyRewrite);
assertEquals(BOOLEAN, expr.type());

expr =
DSL.match(
field,
query,
analyzer,
autoGenerateSynonymsPhrase,
fuzziness,
maxExpansions,
prefixLength,
fuzzyTranspositions,
fuzzyRewrite,
lenient);
assertEquals(BOOLEAN, expr.type());

expr =
DSL.match(
field,
query,
analyzer,
autoGenerateSynonymsPhrase,
fuzziness,
maxExpansions,
prefixLength,
fuzzyTranspositions,
fuzzyRewrite,
lenient,
operator);
assertEquals(BOOLEAN, expr.type());

expr =
DSL.match(
field,
query,
analyzer,
autoGenerateSynonymsPhrase,
fuzziness,
maxExpansions,
prefixLength,
fuzzyTranspositions,
fuzzyRewrite,
lenient,
operator);
assertEquals(BOOLEAN, expr.type());

expr =
DSL.match(
field,
query,
analyzer,
autoGenerateSynonymsPhrase,
fuzziness,
maxExpansions,
prefixLength,
fuzzyTranspositions,
fuzzyRewrite,
lenient,
operator,
minimumShouldMatch);
assertEquals(BOOLEAN, expr.type());

expr =
DSL.match(
field,
query,
analyzer,
autoGenerateSynonymsPhrase,
fuzziness,
maxExpansions,
prefixLength,
fuzzyTranspositions,
fuzzyRewrite,
lenient,
operator,
minimumShouldMatch,
zeroTermsQueryAll);
assertEquals(BOOLEAN, expr.type());

expr =
DSL.match(
field,
query,
analyzer,
autoGenerateSynonymsPhrase,
fuzziness,
maxExpansions,
prefixLength,
fuzzyTranspositions,
fuzzyRewrite,
lenient,
operator,
minimumShouldMatch,
zeroTermsQueryNone,
boost);
assertEquals(BOOLEAN, expr.type());
}

@Test
void match_phrase() {
for (FunctionExpression expr : match_phrase_dsl_expressions()) {
assertEquals(BOOLEAN, expr.type());
}
}

List<FunctionExpression> match_phrase_dsl_expressions() {
return List.of(
DSL.match_phrase(field, query),
DSL.match_phrase(field, query, analyzer),
DSL.match_phrase(field, query, analyzer, zeroTermsQueryAll),
DSL.match_phrase(field, query, analyzer, zeroTermsQueryNone, slop));
}

List<FunctionExpression> match_phrase_prefix_dsl_expressions() {
return List.of(DSL.match_phrase_prefix(field, query));
}

@Test
public void match_phrase_prefix() {
for (FunctionExpression fe : match_phrase_prefix_dsl_expressions()) {
assertEquals(BOOLEAN, fe.type());
}
}

@Test
void match_in_memory() {
FunctionExpression expr = DSL.match(field, query);
assertThrows(
UnsupportedOperationException.class,
() -> expr.valueOf(valueEnv()),
"OpenSearch defined function [match] is only supported in WHERE and HAVING clause.");
}

@Test
void match_to_string() {
FunctionExpression expr = DSL.match(field, query);
assertEquals("match(field=\"message\", query=\"search query\")", expr.toString());
}

@Test
void multi_match() {
FunctionExpression expr = DSL.multi_match(fields, query);
assertEquals(
String.format("multi_match(fields=%s, query=%s)", fields.getValue(), query.getValue()),
expr.toString());
}

@Test
void simple_query_string() {
FunctionExpression expr = DSL.simple_query_string(fields, query);
assertEquals(
String.format(
"simple_query_string(fields=%s, query=%s)", fields.getValue(), query.getValue()),
expr.toString());
}

@Test
void query() {
FunctionExpression expr = DSL.query(query);
assertEquals(String.format("query(query=%s)", query.getValue()), expr.toString());
}

@Test
void query_string() {
FunctionExpression expr = DSL.query_string(fields, query);
assertEquals(
String.format("query_string(fields=%s, query=%s)", fields.getValue(), query.getValue()),
expr.toString());
}

@Test
void wildcard_query() {
FunctionExpression expr = DSL.wildcard_query(field, query);
assertEquals(
String.format("wildcard_query(field=%s, query=%s)", field.getValue(), query.getValue()),
expr.toString());
}

@Test
void nested_query() {
FunctionExpression expr = DSL.nested(DSL.ref("message.info", STRING));
assertEquals(
String.format(
"FunctionExpression(functionName=%s, arguments=[message.info])",
BuiltinFunctionName.NESTED.getName()),
expr.toString());
Environment<Expression, ExprValue> nestedTuple =
ExprValueUtils.tupleValue(Map.of("message", Map.of("info", "result"))).bindingTuples();
assertEquals(expr.valueOf(nestedTuple), ExprValueUtils.stringValue("result"));
assertEquals(expr.type(), STRING);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
import org.opensearch.sql.expression.FunctionExpression;
import org.opensearch.sql.expression.NamedExpression;
import org.opensearch.sql.expression.ReferenceExpression;
import org.opensearch.sql.expression.function.OpenSearchFunctions;
import org.opensearch.sql.opensearch.functions.OpenSearchFunctions;
import org.opensearch.sql.opensearch.request.OpenSearchRequestBuilder;
import org.opensearch.sql.opensearch.storage.script.filter.FilterQueryBuilder;
import org.opensearch.sql.opensearch.storage.script.sort.SortQueryBuilder;
Expand Down
Loading

0 comments on commit 4c35cbf

Please sign in to comment.