提交 81603fce 编写于 作者: R raoxian

新增storagesecuritylabeljstest测试用例

Signed-off-by: Nraoxian <raoxian@huawei.com>
上级 8c867866
......@@ -20,6 +20,7 @@ group("storage") {
"storagefileioerrorjstest:storagefileioerror_js_test",
"storagefileiojstest:storagefileio_js_test",
"storagefilejstest:storagefile_js_test",
"storagesecuritylabeljstest:storagesecuritylabel_js_test",
"storagestatfsjstest:storagestatfs_js_test",
]
}
......
# Copyright (C) 2021 Huawei Device Co., Ltd.
# 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("//test/xts/tools/build/suite.gni")
ohos_js_hap_suite("storagesecuritylabel_js_test") {
hap_profile = "./src/main/config.json"
deps = [
":storagesecuritylabel_js_assets",
":storagesecuritylabel_js_resources",
]
certificate_profile = "./signature/openharmony_sx.p7b"
hap_name = "ActsStorageSecurityLabelJSTest"
}
ohos_js_assets("storagesecuritylabel_js_assets") {
source_dir = "./src/main/js/default"
}
ohos_resources("storagesecuritylabel_js_resources") {
sources = [ "./src/main/resources" ]
hap_profile = "./src/main/config.json"
}
{
"description": "Configuration for storage securitylabel Tests",
"driver": {
"type": "JSUnitTest",
"test-timeout": "60000",
"package": "ohos.acts.storage.securitylabel",
"shell-timeout": "60000"
},
"kits": [
{
"test-file-name": [
"ActsStorageSecurityLabelJSTest.hap"
],
"type": "AppInstallKit",
"cleanup-apps": true
}
]
}
\ No newline at end of file
{
"app": {
"bundleName": "ohos.acts.storage.securitylabel",
"vendor": "example",
"version": {
"code": 1000000,
"name": "1.0.0"
},
"apiVersion": {
"compatible": 4,
"target": 5
}
},
"deviceConfig": {},
"module": {
"package": "ohos.acts.storage.securitylabel",
"name": ".MyApplication",
"deviceType": [
"phone"
],
"distro": {
"deliveryWithInstall": true,
"moduleName": "entry",
"moduleType": "entry",
"installationFree": true
},
"abilities": [
{
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
]
}
],
"name": "ohos.acts.storage.securitylabel.MainAbility",
"icon": "$media:icon",
"description": "$string:mainability_description",
"label": "$string:app_name",
"type": "page",
"launchType": "standard",
"visible": true
}
],
"js": [
{
"pages": [
"pages/index/index"
],
"name": "default",
"window": {
"designWidth": 720,
"autoDesignWidth": false
}
}
]
}
}
\ No newline at end of file
/*
* Copyright (C) 2021 Huawei Device Co., Ltd.
* 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.
*/
export default {
onCreate() {
console.info('ohos.acts.distributeddatamgr.distributedfile onCreate');
},
onDestroy() {
console.info('ohos.acts.distributeddatamgr.distributedfile onCreate');
}
};
{
"strings": {
"hello": "Hello",
"world": "Test"
}
}
\ No newline at end of file
{
"strings": {
"hello": "您好",
"world": "测试"
}
}
\ No newline at end of file
.container {
flex-direction: column;
justify-content: center;
align-items: center;
}
.title {
font-size: 100px;
}
<div class="container">
<text class="title">
{{ $t('strings.hello') }} {{ title }}
</text>
</div>
/*
* Copyright (C) 2021 Huawei Device Co., Ltd.
* 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 app from '@system.app'
import {Core} from 'deccjsunit/index'
const injectRef = Object.getPrototypeOf(global) || global
injectRef.regeneratorRuntime = require('@babel/runtime/regenerator')
export default {
data: {
title: ''
},
onInit() {
this.title = this.$t('strings.world');
},
onShow() {
console.info('onShow finish')
const core = Core.getInstance()
core.init()
const configService = core.getDefaultService('config')
configService.setConfig(this)
require('../../test/List.test')
core.execute()
},
onReady() {
},
}
\ No newline at end of file
/*
* Copyright (C) 2021 Huawei Device Co., Ltd.
* 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 securitylabel from '@ohos.securitylabel';
import fileio from '@ohos.fileio';
import featureAbility from '@ohos.ability.featureAbility';
import {
describe, beforeAll, beforeEach, afterEach, afterAll, it, expect
}
from 'deccjsunit/index'
export async function nextFileName(testName) {
let context = featureAbility.getContext();
let data = await context.getFilesDir();
let BASE_PATH = data.substring(0, data.length - 5) + 'cache/';
return BASE_PATH + testName;
}
export {
describe,
beforeAll,
beforeEach,
afterEach,
afterAll,
it,
expect,
securitylabel,
fileio
};
\ No newline at end of file
/*
* Copyright (C) 2021 Huawei Device Co., Ltd.
* 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.
*/
require('./securitylabel.test.js');
/*
* Copyright (C) 2021 Huawei Device Co., Ltd.
* 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 {
describe, it, expect, securitylabel, nextFileName, fileio
} from './Common';
describe('securitylabel', function () {
/**
* @tc.number SUB_DF_SECURITYLABEL_SET_SECURITY_LABEL_0000
* @tc.name securitylabel_test_set_security_label_async_000
* @tc.desc Test that the setSecurityLabel() interface callback to set the data label. Test the getSecurityLabel() interface callback to get the data label.
* @tc.size MEDIUM
* @tc.type Function
* @tc.level Level 0
* @tc.require
*/
it('securitylabel_test_set_security_label_async_000', 0, async function (done) {
let fpath = await nextFileName('test.txt');
fileio.openSync(fpath, 0o102, 0o666);
try {
securitylabel.setSecurityLabel(fpath, 's0', function (err, flag) {
securitylabel.getSecurityLabel(fpath, function (err, dataLevel) {
expect(dataLevel == 's0').assertTrue();
expect(fileio.unlinkSync(fpath) == null).assertTrue();
done();
})
})
} catch (e) {
console.log('securitylabel_test_set_security_label_async_000 has failed for ' + e);
expect(null).assertFail();
}
});
/**
* @tc.number SUB_DF_SECURITYLABEL_SET_SECURITY_LABEL_0010
* @tc.name securitylabel_test_set_security_label_async_001
* @tc.desc Test that the setSecurityLabel() interface callback to set the data label. Test the getSecurityLabel() interface promises to get the data label.
* @tc.size MEDIUM
* @tc.type Function
* @tc.level Level 0
* @tc.require
*/
it('securitylabel_test_set_security_label_async_001', 0, async function (done) {
let fpath = await nextFileName('test1.txt');
fileio.openSync(fpath, 0o102, 0o666);
try {
securitylabel.setSecurityLabel(fpath, 's1', async function (err, flag) {
let dataLevel = await securitylabel.getSecurityLabel(fpath);
expect(dataLevel == 's1').assertTrue();
expect(fileio.unlinkSync(fpath) == null).assertTrue();
done();
})
} catch (e) {
console.log('securitylabel_test_set_security_label_async_001 has failed for ' + e);
expect(null).assertFail();
}
});
/**
* @tc.number SUB_DF_SECURITYLABEL_SET_SECURITY_LABEL_0020
* @tc.name securitylabel_test_set_security_label_async_002
* @tc.desc Test that the setSecurityLabel() interface promises to set the data label. Test the getSecurityLabel() interface callback to get the data label.
* @tc.size MEDIUM
* @tc.type Function
* @tc.level Level 0
* @tc.require
*/
it('securitylabel_test_set_security_label_async_002', 0, async function (done) {
let fpath = await nextFileName('test2.txt');
fileio.openSync(fpath, 0o102, 0o666);
try {
let flag = await securitylabel.setSecurityLabel(fpath, 's2');
securitylabel.getSecurityLabel(fpath, function (err, dataLevel) {
expect(dataLevel == 's2').assertTrue();
expect(fileio.unlinkSync(fpath) == null).assertTrue();
done();
})
} catch (e) {
console.log('securitylabel_test_set_security_label_async_002 has failed for ' + e);
expect(null).assertFail();
}
});
/**
* @tc.number SUB_DF_SECURITYLABEL_SET_SECURITY_LABEL_0030
* @tc.name securitylabel_test_set_security_label_async_003
* @tc.desc Test that the setSecurityLabel() interface promises to set the data label. Test the getSecurityLabel() interface promises to get the data label.
* @tc.size MEDIUM
* @tc.type Function
* @tc.level Level 0
* @tc.require
*/
it('securitylabel_test_set_security_label_async_003', 0, async function (done) {
let fpath = await nextFileName('test3.txt');
fileio.openSync(fpath, 0o102, 0o666);
try {
let flag = await securitylabel.setSecurityLabel(fpath, 's3');
let dataLevel = await securitylabel.getSecurityLabel(fpath);
expect(dataLevel == 's3').assertTrue();
expect(fileio.unlinkSync(fpath) == null).assertTrue();
done();
} catch (e) {
console.log('securitylabel_test_set_security_label_async_003 has failed for ' + e);
expect(null).assertFail();
}
});
/**
* @tc.number SUB_DF_SECURITYLABEL_SET_SECURITY_LABEL_0040
* @tc.name securitylabel_test_set_security_label_async_004
* @tc.desc Test that the setSecurityLabel() interface promises to set the data label. Test the getSecurityLabel() interface promises to get the data label.
* @tc.size MEDIUM
* @tc.type Function
* @tc.level Level 0
* @tc.require
*/
it('securitylabel_test_set_security_label_async_004', 0, async function (done) {
let fpath = await nextFileName('test4.txt');
fileio.openSync(fpath, 0o102, 0o666);
try {
let flag = await securitylabel.setSecurityLabel(fpath, 's4');
let dataLevel = await securitylabel.getSecurityLabel(fpath);
expect(dataLevel == 's4').assertTrue();
expect(fileio.unlinkSync(fpath) == null).assertTrue();
done();
} catch (e) {
console.log('securitylabel_test_set_security_label_async_004 has failed for ' + e);
expect(null).assertFail();
}
});
/**
* @tc.number SUB_DF_SECURITYLABEL_SET_SECURITY_LABEL_0050
* @tc.name securitylabel_test_set_security_label_async_005
* @tc.desc Test setSecurityLabel() interfaces. return false when path is empty string.
* @tc.size MEDIUM
* @tc.type Function
* @tc.level Level 0
* @tc.require
*/
it('securitylabel_test_set_security_label_async_005', 0, async function (done) {
try {
let flag = await securitylabel.setSecurityLabel('', 's0');
expect(flag == false).assertTrue();
done();
} catch (e) {
console.log('securitylabel_test_set_security_label_async_005 has failed for ' + e);
expect(null).assertFail();
done();
}
});
/**
* @tc.number SUB_DF_SECURITYLABEL_SET_SECURITY_LABEL_0060
* @tc.name securitylabel_test_set_security_label_async_006
* @tc.desc Test setSecurityLabel() interfaces. return false when the path is invalid.
* @tc.size MEDIUM
* @tc.type Function
* @tc.level Level 0
* @tc.require
*/
it('securitylabel_test_set_security_label_async_006', 0, async function (done) {
try {
let flag = await securitylabel.setSecurityLabel('/data/test.txt', 's0');
expect(flag == false).assertTrue();
done();
} catch (e) {
console.log('securitylabel_test_set_security_label_async_006 has failed for ' + e);
expect(null).assertFail();
done();
}
});
/**
* @tc.number SUB_DF_SECURITYLABEL_SET_SECURITY_LABEL_0070
* @tc.name securitylabel_test_set_security_label_async_007
* @tc.desc Test setSecurityLabel() interfaces. Throw exception when path is empty.
* @tc.size MEDIUM
* @tc.type Function
* @tc.level Level 0
* @tc.require
*/
it('securitylabel_test_set_security_label_async_007', 0, async function (done) {
try {
await securitylabel.setSecurityLabel('s0');
expect(null).assertFail();
done();
} catch (e) {
console.log('securitylabel_test_set_security_label_async_007 has failed for ' + e);
expect(!!e).assertTrue();
done();
}
});
/**
* @tc.number SUB_DF_SECURITYLABEL_SET_SECURITY_LABEL_0080
* @tc.name securitylabel_test_set_security_label_async_008
* @tc.desc Test setSecurityLabel() interfaces. return false when dataLevel is empty string.
* @tc.size MEDIUM
* @tc.type Function
* @tc.level Level 0
* @tc.require
*/
it('securitylabel_test_set_security_label_async_008', 0, async function (done) {
let fpath = await nextFileName('test5.txt');
fileio.openSync(fpath, 0o102, 0o666);
try {
let flag = await securitylabel.setSecurityLabel(fpath, '');
expect(flag == false).assertTrue();
expect(fileio.unlinkSync(fpath) == null).assertTrue();
done();
} catch (e) {
console.log('securitylabel_test_set_security_label_async_008 has failed for ' + e);
expect(null).assertFail();
done();
}
});
/**
* @tc.number SUB_DF_SECURITYLABEL_SET_SECURITY_LABEL_0090
* @tc.name securitylabel_test_set_security_label_async_009
* @tc.desc Test setSecurityLabel() interfaces. return false when the dataLevel is invalid.
* @tc.size MEDIUM
* @tc.type Function
* @tc.level Level 0
* @tc.require
*/
it('securitylabel_test_set_security_label_async_009', 0, async function (done) {
let fpath = await nextFileName('test6.txt');
fileio.openSync(fpath, 0o102, 0o666);
try {
let flag = await securitylabel.setSecurityLabel(fpath, 'ss');
expect(flag == false).assertTrue();
expect(fileio.unlinkSync(fpath) == null).assertTrue();
done();
} catch (e) {
console.log('securitylabel_test_set_security_label_async_009 has failed for ' + e);
expect(null).assertFail();
done();
}
});
/**
* @tc.number SUB_DF_SECURITYLABEL_SET_SECURITY_LABEL_0100
* @tc.name securitylabel_test_set_security_label_async_010
* @tc.desc Test setSecurityLabel() interfaces. Throw exception when dataLevel is empty.
* @tc.size MEDIUM
* @tc.type Function
* @tc.level Level 0
* @tc.require
*/
it('securitylabel_test_set_security_label_async_010', 0, async function (done) {
let fpath = await nextFileName('test7.txt');
fileio.openSync(fpath, 0o102, 0o666);
try {
await securitylabel.setSecurityLabel(fpath);
expect(null).assertFail();
done();
} catch (e) {
console.log('securitylabel_test_set_security_label_async_010 has failed for ' + e);
expect(fileio.unlinkSync(fpath) == null).assertTrue();
expect(!!e).assertTrue();
done();
}
});
/**
* @tc.number SUB_DF_SECURITYLABEL_SET_SECURITY_LABEL_0110
* @tc.name securitylabel_test_set_security_label_async_011
* @tc.desc Test setSecurityLabel() interfaces. Throws an exception when passing multiple parameters.
* @tc.size MEDIUM
* @tc.type Function
* @tc.level Level 0
* @tc.require
*/
it('securitylabel_test_set_security_label_async_011', 0, async function (done) {
let fpath = await nextFileName('test8.txt');
fileio.openSync(fpath, 0o102, 0o666);
try {
securitylabel.setSecurityLabel(fpath, 's0', '', function (err, flag) {
done();
})
} catch (e) {
console.log('securitylabel_test_set_security_label_async_011 has failed for ' + e);
expect(fileio.unlinkSync(fpath) == null).assertTrue();
expect(!!e).assertTrue();
done();
}
});
/**
* @tc.number SUB_DF_SECURITYLABEL_GET_SECURITY_LABEL_0000
* @tc.name securitylabel_test_get_security_label_async_000
* @tc.desc Test getSecurityLabel() interfaces. return empty when path is empty string.
* @tc.size MEDIUM
* @tc.type Function
* @tc.level Level 0
* @tc.require
*/
it('securitylabel_test_get_security_label_async_000', 0, async function (done) {
try {
let dataLevel = await securitylabel.getSecurityLabel('');
expect(dataLevel == '').assertTrue();
done();
} catch (e) {
console.log('securitylabel_test_get_security_label_async_000 has failed for ' + e);
expect(null).assertFail();
done();
}
});
/**
* @tc.number SUB_DF_SECURITYLABEL_GET_SECURITY_LABEL_0010
* @tc.name securitylabel_test_get_security_label_async_001
* @tc.desc Test getSecurityLabel() interfaces. return empty when the path is invalid.
* @tc.size MEDIUM
* @tc.type Function
* @tc.level Level 0
* @tc.require
*/
it('securitylabel_test_get_security_label_async_001', 0, async function (done) {
try {
let dataLevel = await securitylabel.getSecurityLabel('/data/test.txt');
expect(dataLevel == '').assertTrue();
done();
} catch (e) {
console.log('securitylabel_test_get_security_label_async_001 has failed for ' + e);
expect(null).assertFail();
done();
}
});
/**
* @tc.number SUB_DF_SECURITYLABEL_GET_SECURITY_LABEL_0020
* @tc.name securitylabel_test_get_security_label_async_002
* @tc.desc Test getSecurityLabel() interfaces. Throw exception when path is empty.
* @tc.size MEDIUM
* @tc.type Function
* @tc.level Level 0
* @tc.require
*/
it('securitylabel_test_get_security_label_async_002', 0, async function (done) {
try {
await securitylabel.getSecurityLabel();
expect(null).assertFail();
done();
} catch (e) {
console.log('securitylabel_test_get_security_label_async_002 has failed for ' + e);
expect(!!e).assertTrue();
done();
}
});
/**
* @tc.number SUB_DF_SECURITYLABEL_GET_SECURITY_LABEL_0030
* @tc.name securitylabel_test_get_security_label_async_003
* @tc.desc Test getSecurityLabel() interfaces. Throws an exception when passing multiple parameters.
* @tc.size MEDIUM
* @tc.type Function
* @tc.level Level 0
* @tc.require
*/
it('securitylabel_test_get_security_label_async_003', 0, async function (done) {
let fpath = await nextFileName('test9.txt');
fileio.openSync(fpath, 0o102, 0o666);
try {
securitylabel.getSecurityLabel(fpath, '', function(err, dataLevel) {
done();
});
} catch (e) {
console.log('securitylabel_test_get_security_label_async_003 has failed for ' + e);
expect(fileio.unlinkSync(fpath) == null).assertTrue();
expect(!!e).assertTrue();
done();
}
});
});
{
"string": [
{
"name": "app_name",
"value": "Storagesecuritylabeljstest"
},
{
"name": "mainability_description",
"value": "JS_Phone_Empty Feature Ability"
}
]
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册