Skip to content
This repository was archived by the owner on Oct 9, 2023. It is now read-only.

Commit d1d8222

Browse files
author
Ganeshwara Hananda
authored
Update password (#227)
## What is the goal of this PR? We've added the update password feature. ## What are the changes implemented in this PR? 1. Add support for updating user password 2. Updated the bootup command of TypeDB Cluster
1 parent 11acd42 commit d1d8222

File tree

13 files changed

+50
-19
lines changed

13 files changed

+50
-19
lines changed

dependencies/vaticle/artifacts.bzl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def vaticle_typedb_artifacts():
2929
artifact_name = "typedb-server-{platform}-{version}.{ext}",
3030
tag_source = deployment["artifact.release"],
3131
commit_source = deployment["artifact.snapshot"],
32-
commit = "5ea116cb20c71e29eebf44c131b3a4775c5610de",
32+
commit = "05fe4e64dc0f66d45f09e3f7dc88a47ce284587a",
3333
)
3434

3535
def vaticle_typedb_cluster_artifacts():
@@ -39,5 +39,5 @@ def vaticle_typedb_cluster_artifacts():
3939
artifact_name = "typedb-cluster-all-{platform}-{version}.{ext}",
4040
tag_source = deployment_private["artifact.release"],
4141
commit_source = deployment_private["artifact.snapshot"],
42-
commit = "117d690b95a049e0bbe2be9b9c024a20763fe6c2"
42+
commit = "25e45df9512604812f800218066b0f93435e44d2"
4343
)

dependencies/vaticle/repositories.bzl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,5 @@ def vaticle_typedb_behaviour():
3939
git_repository(
4040
name = "vaticle_typedb_behaviour",
4141
remote = "https://github.com/vaticle/typedb-behaviour",
42-
commit = "90e12486779d0f95eacd63035621cb431b721921" # sync-marker: do not remove this comment, this is used for sync-dependencies by @vaticle_typedb_behaviour
42+
commit = "28d283807607cd589d6261a0da62ecd414ed49d5" # sync-marker: do not remove this comment, this is used for sync-dependencies by @vaticle_typedb_behaviour
4343
)

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,6 @@
3232
## Dependencies
3333

3434
# IMPORTANT: Any changes to these dependencies should be copied to requirements_dev.txt.
35-
typedb-protocol==2.1.1
35+
typedb-protocol==0.0.0-008f0fc3bb11c221214a9b47899168680cf111be
3636
grpcio==1.38.0
3737
protobuf==3.15.5

requirements_dev.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030

3131
## Dependencies
3232

33-
typedb-protocol==2.1.1
33+
typedb-protocol==0.0.0-008f0fc3bb11c221214a9b47899168680cf111be
3434
grpcio==1.38.0
3535
protobuf==3.15.5
3636

tests/behaviour/connection/user/user_steps.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,14 @@
1818
# specific language governing permissions and limitations
1919
# under the License.
2020
#
21+
import os
22+
2123
from behave import step
2224
from hamcrest import assert_that, has_item, not_
2325

2426
from tests.behaviour.context import Context
2527
from typedb.api.connection.client import TypeDBClusterClient
28+
from typedb.client import TypeDB, TypeDBCredential
2629

2730

2831
def _get_client(context: Context):
@@ -42,6 +45,17 @@ def step_impl(context: Context, name: str):
4245
def step_impl(context: Context, name: str, password: str):
4346
_get_client(context).users().create(name, password)
4447

48+
@step("user password: {name}, {password}")
49+
def step_impl(context: Context, name: str, password: str):
50+
_get_client(context).users().get(name).password(password)
51+
52+
@step("user connect: {name}, {password}")
53+
def step_impl(context: Context, name: str, password: str):
54+
root_ca_path = os.environ["ROOT_CA"]
55+
credential = TypeDBCredential(name, password, root_ca_path)
56+
with TypeDB.cluster_client(addresses=["127.0.0.1:" + context.config.userdata["port"]], credential=credential) as client:
57+
client.databases().all()
58+
4559
@step("user delete: {name}")
4660
def step_impl(context: Context, name: str):
4761
user = _get_client(context).users().get(name)

tests/integration/test_cluster_failover.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ def test_put_entity_type_to_crashed_primary_replica(self):
9090
print("Retrieved entity type with label '%s' from new primary replica." % person.get_label())
9191
assert person.get_label().name() == "person"
9292
idx = str(primary_replica.address())[10]
93-
subprocess.Popen(["./%s/typedb" % idx, "server", "--data", "server/data", "--address", "127.0.0.1:%s1729:%s1730:%s1731" % (idx, idx, idx), "--peer", "127.0.0.1:11729:11730:11731", "--peer", "127.0.0.1:21729:21730:21731", "--peer", "127.0.0.1:31729:31730:31731", "--encryption-enabled=true"])
93+
subprocess.Popen(["./%s/typedb" % idx, "cluster", "--data", "server/data", "--address", "127.0.0.1:%s1729:%s1730:%s1731" % (idx, idx, idx), "--peer", "127.0.0.1:11729:11730:11731", "--peer", "127.0.0.1:21729:21730:21731", "--peer", "127.0.0.1:31729:31730:31731", "--encryption-enabled=true"])
9494
lsof = None
9595
live_check_iteration = 0
9696
while not lsof and live_check_iteration < 60:

tools/behave_rule.bzl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ def _rule_implementation(ctx):
8383
if [[ $PRODUCT == "Core" ]]; then
8484
./typedb_distribution/"$DIRECTORY"/typedb server --port $PORT --data typedb_test &
8585
else
86-
./typedb_distribution/"$DIRECTORY"/typedb server --address "127.0.0.1:$PORT:$(($PORT+1)):$(($PORT+2))" --data typedb_test --encryption-enabled=true &
86+
./typedb_distribution/"$DIRECTORY"/typedb cluster --address "127.0.0.1:$PORT:$(($PORT+1)):$(($PORT+2))" --data typedb_test --encryption-enabled=true &
8787
8888
ROOT_CA=`realpath ./typedb_distribution/"$DIRECTORY"/server/conf/encryption/rpc-root-ca.pem`
8989
export ROOT_CA

tools/cluster_test_rule.bzl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,9 @@ def _rule_implementation(ctx):
5656
echo Successfully unarchived TypeDB distribution. Creating 3 copies.
5757
cp -r typedb_distribution/$TYPEDB/ 1 && cp -r typedb_distribution/$TYPEDB/ 2 && cp -r typedb_distribution/$TYPEDB/ 3
5858
echo Starting 3 TypeDB servers.
59-
./1/typedb server --data server/data --address 127.0.0.1:11729:11730:11731 --peer 127.0.0.1:11729:11730:11731 --peer 127.0.0.1:21729:21730:21731 --peer 127.0.0.1:31729:31730:31731 --encryption-enabled=true &
60-
./2/typedb server --data server/data --address 127.0.0.1:21729:21730:21731 --peer 127.0.0.1:11729:11730:11731 --peer 127.0.0.1:21729:21730:21731 --peer 127.0.0.1:31729:31730:31731 --encryption-enabled=true &
61-
./3/typedb server --data server/data --address 127.0.0.1:31729:31730:31731 --peer 127.0.0.1:11729:11730:11731 --peer 127.0.0.1:21729:21730:21731 --peer 127.0.0.1:31729:31730:31731 --encryption-enabled=true &
59+
./1/typedb cluster --data server/data --address 127.0.0.1:11729:11730:11731 --peer 127.0.0.1:11729:11730:11731 --peer 127.0.0.1:21729:21730:21731 --peer 127.0.0.1:31729:31730:31731 --encryption-enabled=true &
60+
./2/typedb cluster --data server/data --address 127.0.0.1:21729:21730:21731 --peer 127.0.0.1:11729:11730:11731 --peer 127.0.0.1:21729:21730:21731 --peer 127.0.0.1:31729:31730:31731 --encryption-enabled=true &
61+
./3/typedb cluster --data server/data --address 127.0.0.1:31729:31730:31731 --peer 127.0.0.1:11729:11730:11731 --peer 127.0.0.1:21729:21730:21731 --peer 127.0.0.1:31729:31730:31731 --encryption-enabled=true &
6262
6363
ROOT_CA=`realpath typedb_distribution/$TYPEDB/server/conf/encryption/rpc-root-ca.pem`
6464
export ROOT_CA

typedb/api/connection/user.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@ class User(ABC):
2929
def name(self) -> str:
3030
pass
3131

32+
@abstractmethod
33+
def password(self, password: str) -> None:
34+
pass
35+
3236
@abstractmethod
3337
def delete(self) -> None:
3438
pass

typedb/common/rpc/request_builder.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,12 @@ def cluster_user_manager_contains_req(name: str):
105105

106106
# ClusterUser
107107

108+
def cluster_user_password_req(name: str, password: str):
109+
req = cluster_user_proto.ClusterUser.Password.Req()
110+
req.name = name
111+
req.password = password
112+
return req
113+
108114
def cluster_user_delete_req(name: str):
109115
req = cluster_user_proto.ClusterUser.Delete.Req()
110116
req.name = name

0 commit comments

Comments
 (0)