znt/module/file/test/model/autodelete.php

68 lines
2.2 KiB
PHP
Executable file
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env php
<?php
/**
title=测试 fileModel::autoDelete();
timeout=0
cid=16492
- 步骤1空字符串UID输入 @10
- 步骤2正常UID但SESSION中无album数据 @10
- 步骤3有album数据但部分图片已标记使用 @9
- 步骤4有album数据但无used标记 @6
- 步骤5多个UID混合测试只影响指定UID @5
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
$fileTable = zenData('file');
$fileTable->objectType->range('story,task,bug');
$fileTable->objectID->range('1-20');
$fileTable->pathname->range('test1.jpg,test2.png,test3.gif,test4.doc,test5.pdf');
$fileTable->title->range('测试图片1,测试图片2,测试图片3,测试文档1,测试文档2');
$fileTable->extension->range('jpg,png,gif,doc,pdf');
$fileTable->size->range('1024-102400');
$fileTable->addedBy->range('admin,user1,user2');
$fileTable->addedDate->range('`2023-01-01 00:00:00`-`2023-12-31 23:59:59`');
$fileTable->gen(10);
su('admin');
global $tester, $config;
$fileTest = new fileModelTest();
$debug = $config->debug;
$config->debug = 0;
// 清理SESSION状态
unset($_SESSION['album']);
$uid1 = 'test_uid_001';
$uid2 = 'test_uid_002';
r($fileTest->autoDeleteTest('')) && p() && e('10'); // 步骤1空字符串UID输入
r($fileTest->autoDeleteTest($uid1)) && p() && e('10'); // 步骤2正常UID但SESSION中无album数据
// 设置测试数据uid1包含图片1,2,3其中1,2已使用
$_SESSION['album'][$uid1] = array(1, 2, 3);
$_SESSION['album']['used'][$uid1] = array(1 => 1, 2 => 2);
r($fileTest->autoDeleteTest($uid1)) && p() && e('9'); // 步骤3有album数据但部分图片已标记使用
// 重新设置数据uid1包含图片4,5,6无used标记
$_SESSION['album'][$uid1] = array(4, 5, 6);
unset($_SESSION['album']['used'][$uid1]);
r($fileTest->autoDeleteTest($uid1)) && p() && e('6'); // 步骤4有album数据但无used标记
// 多UID测试设置两个不同的UID
$_SESSION['album'][$uid1] = array(7, 8);
$_SESSION['album'][$uid2] = array(9, 10);
$_SESSION['album']['used'][$uid1] = array(7 => 7);
r($fileTest->autoDeleteTest($uid1)) && p() && e('5'); // 步骤5多个UID混合测试只影响指定UID
$config->debug = $debug;