################################################################################ # Copyright (c) 2020 AT&T Intellectual Property. # # # # 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. # ################################################################################ import time import os import shutil from xapp_onboarder.server import settings from xapp_onboarder.helm_controller.artifacts_manager import format_artifact_dir_size, get_dir_size, trim_artifact_dir def test_trim_thread(): path = settings.CHART_WORKSPACE_PATH if os.path.exists(path): shutil.rmtree(path) os.makedirs(path) size_limit = format_artifact_dir_size() f = open(path+'/mock_size_file',"wb") f.seek(int(size_limit)+100000000) f.write(b"\0") f.close() artifact_dir_size = get_dir_size(start_path=path) assert size_limit < artifact_dir_size, 'Fail to write large files' trim_artifact_dir() artifact_dir_size = get_dir_size(start_path=path) assert size_limit > artifact_dir_size, 'Fail to trim'