94 lines
3.2 KiB
Python
94 lines
3.2 KiB
Python
# Copyright 2022 Memgraph Ltd.
|
|
#
|
|
# Use of this software is governed by the Business Source License
|
|
# included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
|
# License, and you may not use this file except in compliance with the Business Source License.
|
|
#
|
|
# As of the Change Date specified in that file, in accordance with
|
|
# the Business Source License, use of this software will be governed
|
|
# by the Apache License, Version 2.0, included in the file
|
|
# licenses/APL.txt.
|
|
|
|
import sys
|
|
|
|
import mgclient
|
|
import pytest
|
|
|
|
from common import (
|
|
connection,
|
|
execute_and_fetch_all,
|
|
has_n_result_row,
|
|
wait_for_shard_manager_to_initialize,
|
|
)
|
|
|
|
|
|
def test_awesome_memgraph_functions(connection):
|
|
wait_for_shard_manager_to_initialize()
|
|
cursor = connection.cursor()
|
|
|
|
assert has_n_result_row(cursor, "CREATE (n :label {property:1})", 0)
|
|
assert has_n_result_row(cursor, "CREATE (n :label {property:2})", 0)
|
|
assert has_n_result_row(cursor, "CREATE (n :label {property:3})", 0)
|
|
assert has_n_result_row(cursor, "CREATE (n :label {property:4})", 0)
|
|
assert has_n_result_row(cursor, "CREATE (n :label {property:10})", 0)
|
|
|
|
results = execute_and_fetch_all(cursor, "MATCH (n) WITH COLLECT(n) as nn RETURN SIZE(nn)")
|
|
assert len(results) == 1
|
|
assert results[0][0] == 5
|
|
|
|
results = execute_and_fetch_all(cursor, "MATCH (n) WITH COLLECT(n.property) as nn RETURN ALL(i IN nn WHERE i > 0)")
|
|
assert len(results) == 1
|
|
assert results[0][0] == True
|
|
|
|
results = execute_and_fetch_all(cursor, """RETURN CONTAINS("Pineapple", "P")""")
|
|
assert len(results) == 1
|
|
assert results[0][0] == True
|
|
|
|
results = execute_and_fetch_all(cursor, """RETURN ENDSWITH("Pineapple", "e")""")
|
|
assert len(results) == 1
|
|
assert results[0][0] == True
|
|
|
|
results = execute_and_fetch_all(cursor, """RETURN LEFT("Pineapple", 1)""")
|
|
assert len(results) == 1
|
|
assert results[0][0] == "P"
|
|
|
|
results = execute_and_fetch_all(cursor, """RETURN RIGHT("Pineapple", 1)""")
|
|
assert len(results) == 1
|
|
assert results[0][0] == "e"
|
|
|
|
results = execute_and_fetch_all(cursor, """RETURN REVERSE("Apple")""")
|
|
assert len(results) == 1
|
|
assert results[0][0] == "elppA"
|
|
|
|
results = execute_and_fetch_all(cursor, """RETURN REPLACE("Apple", "A", "a")""")
|
|
assert len(results) == 1
|
|
assert results[0][0] == "apple"
|
|
|
|
results = execute_and_fetch_all(cursor, """RETURN TOLOWER("Apple")""")
|
|
assert len(results) == 1
|
|
assert results[0][0] == "apple"
|
|
|
|
results = execute_and_fetch_all(cursor, """RETURN TOUPPER("Apple")""")
|
|
assert len(results) == 1
|
|
assert results[0][0] == "APPLE"
|
|
|
|
results = execute_and_fetch_all(cursor, """RETURN TRIM(" Apple")""")
|
|
assert len(results) == 1
|
|
assert results[0][0] == "Apple"
|
|
|
|
results = execute_and_fetch_all(cursor, """RETURN SPLIT("Apple.Apple", ".")""")
|
|
assert len(results) == 1
|
|
assert results[0][0] == ["Apple", "Apple"]
|
|
|
|
results = execute_and_fetch_all(cursor, """RETURN LOG10(100)""")
|
|
assert len(results) == 1
|
|
assert results[0][0] == 2
|
|
|
|
results = execute_and_fetch_all(cursor, """RETURN SQRT(4)""")
|
|
assert len(results) == 1
|
|
assert results[0][0] == 2
|
|
|
|
|
|
if __name__ == "__main__":
|
|
sys.exit(pytest.main([__file__, "-rA"]))
|