Skip to content

Commit

Permalink
Add test cases for stability
Browse files Browse the repository at this point in the history
  • Loading branch information
yanghua committed Sep 24, 2024
1 parent 9ed36e4 commit 3c319cc
Showing 1 changed file with 51 additions and 0 deletions.
51 changes: 51 additions & 0 deletions tosfs/tests/test_stability.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# ByteDance Volcengine EMR, Copyright 2024.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

from time import sleep

from tosfs.utils import random_str


def test_write_breakpoint_continuation(tosfs, bucket, temporary_workspace):
file_name = f"{random_str()}.txt"
first_part = random_str(10 * 1024 * 1024)
second_part = random_str(10 * 1024 * 1024)

with tosfs.open(f"{bucket}/{temporary_workspace}/{file_name}", "w") as f:
f.write(first_part)
# mock a very long block(business processing or network issue)
sleep(60)
f.write(second_part)

with tosfs.open(file_name, "r") as f:
assert f.read() == first_part + second_part


def test_read_breakpoint_continuation(tosfs, bucket, temporary_workspace):
file_name = f"{random_str()}.txt"
first_part = random_str(10 * 1024 * 1024)
second_part = random_str(10 * 1024 * 1024)

with tosfs.open(f"{bucket}/{temporary_workspace}/{file_name}", "w") as f:
f.write(first_part)
f.write(second_part)

with tosfs.open(file_name, "r") as f:
read_first_part = f.read(10 * 1024 * 1024)
assert read_first_part == first_part
# mock a very long block(business processing or network issue)
sleep(60)
read_second_part = f.read(10 * 1024 * 1024)
assert read_second_part == second_part
assert read_first_part + read_second_part == first_part + second_part

0 comments on commit 3c319cc

Please sign in to comment.