Commit Graph

349 Commits

Author SHA1 Message Date
Yogi_Wang
1f3e00c782 [Nightly] Add case for trivy
Signed-off-by: Yogi_Wang <yawang@vmware.com>
2020-03-27 15:20:39 +08:00
Yogi_Wang
cba4490a5a [Fixed] Fix bug for 2.0 and add case for trivy
Signed-off-by: Yogi_Wang <yawang@vmware.com>
1.add case for trivy
2.vunerbility refresh bug
3.scan mutiple artifact
4.fix global search bug
5.disable delete tag btn when remove immutable tag
6.cancel selectRow when add label or remove label;fix #11195
7.fix cron tootip
2020-03-26 11:39:57 +08:00
Ziming Zhang
ae7834af0b feat(cicd) fix build base image
Signed-off-by: Ziming Zhang <zziming@vmware.com>
2020-03-26 10:55:40 +08:00
danfengliu
08a070a124 Modify nightly test case for user view logs and other
Signed-off-by: danfengliu <danfengl@vmware.com>
2020-03-23 14:19:13 +08:00
danfengliu
deb225b0f2 Modify elements locator in nightly tests
1. Modify get signature API in sign image test;
2. Modify locator for tag in artifact list;

Signed-off-by: danfengliu <danfengl@vmware.com>
2020-03-22 20:48:37 +08:00
Yogi_Wang
13ae4482ab [OCI] Change nightly case and change delete artifact words
1.nightly: fix tag retention and immutable tag case xpath
2.nightly: fix the part of delete repo button xpath
3.nightly: fix the api version when GC
4.nightly: fix add label of artifact xpath
5.text:   change delete artifact show words
Signed-off-by: Yogi_Wang <yawang@vmware.com>
2020-03-20 15:59:16 +08:00
danfengliu
fedfae71ff Modify Nightly popular Keyword Go-Into-Repo
Signed-off-by: danfengliu <danfengl@vmware.com>
2020-03-19 17:09:16 +08:00
wang yan
1b84bfde23 add trivy into offline/online package
Package trivy adapter image into offline image and ship dev to hub

Signed-off-by: wang yan <wangyan@vmware.com>
2020-03-09 13:56:49 +08:00
Yogi_Wang
99d02a14f5 Fix issue from louis and improve artifact list
Signed-off-by: Yogi_Wang <yawang@vmware.com>
2020-02-20 10:15:33 +08:00
danfengliu
d1b5bd5d9c Fix project quotas API test issue
In project quotas API test, pull images from goharbor namespace instead of library:
1. Replace image source in API test;
2. Modify criteria for verify project configuration modification.

Signed-off-by: danfengliu <danfengl@vmware.com>
2020-02-06 16:43:08 +08:00
danfengliu
66eff99c7f Fix description issue of test in robot account API test and issue of Helm3 test
1. Fix issue that test step descriton was mismatch with test step;
2. Wrong helm command was used in Helm3 test, replace helm with helm3;
3. In API test, images were pulled from docker-hub registry, images size changed sometime, so we like to use internal registry.

Signed-off-by: danfengliu <danfengl@vmware.com>
2020-02-04 17:26:52 +08:00
Danfeng Liu (c)
d9c0a4ae67 Switch registry from docker-hub ot internal harbor registry
Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
:q
2020-01-17 10:43:20 +08:00
Danfeng Liu (c)
d02f15fb0f Add retry for prject list display
Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2020-01-13 15:44:31 +08:00
Danfeng Liu (c)
ea01a236a5 Add retry when fail to find replication
Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2020-01-08 17:08:42 +08:00
Danfeng Liu (c)
9d651128d6 Add nightly test case for tag immutability
Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2020-01-06 15:54:08 +08:00
Danfeng Liu (c)
07b005bcda add checkpoint and retry for click add member button
Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2020-01-03 15:40:46 +08:00
Danfeng Liu (c)
1cdf7253cd Repull image when error
Docker pull command was enclosed to one keyword, in this keyword,
there're retry and log record.

Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2019-12-31 14:30:26 +08:00
danfengliu
bbe40a551e
Merge pull request #10374 from danfengliu/refresh-project-quotas-list
Refresh project quotas list at regular time
2019-12-30 17:03:53 +08:00
danfengliu
79f93af471
Merge pull request #10333 from danfengliu/add-time-waiting-for-tag-switch
Replace keyword without waiting to one which had waiting
2019-12-30 14:45:24 +08:00
Danfeng Liu (c)
9dbb04925c Refresh project quotas list at regular time
Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2019-12-30 14:11:19 +08:00
danfengliu
de2ec7d063 Replace keyword without waiting to one which had waiting
1. Replace all keywords without using waiting;
2. Add a debug line in Go Into Repo for UI hung trouble shooting.

Signed-off-by: danfengliu <danfengl@vmware.com>
2019-12-27 17:13:25 +08:00
danfengliu
933dc91ba5 Notary test failed in Helm Pipeline
In Helm pipeline, harbor access address is by domain name instead of IP, so cert directory should be created by domain name.

Signed-off-by: danfengliu <danfengl@vmware.com>
2019-12-27 17:02:28 +08:00
Danfeng Liu (c)
76cbcfcbb9 Refect upgrade script, population will be distinguished by harbor version.
Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2019-12-26 14:08:47 +08:00
danfengliu
95ddf6d9b3 Refect keyword of Go Into Reop
Signed-off-by: danfengliu <danfengl@vmware.com>
2019-12-24 16:39:37 +08:00
Danfeng Liu (c)
8bfc5d12c3 Change parameter image to optional
1. Change parameter in Keyword Body Of Admin Push Signed Image to an
optional one.
2. Loose the restriction for Quotas error message verification.
3. Get cert for notary from API instead of local file.

Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2019-12-19 16:54:59 +08:00
danfengliu
99713dbec6
Merge pull request #10302 from danfengliu/switch-repository-filter-in-nightly-test-case
Use repository filter in the list above
2019-12-18 16:51:16 +08:00
Danfeng Liu (c)
70a40b87a8 Use repository filter in the list above
Nigthly test case failures always caused by filter issue, as Shijun
adviced, it's better to use  repository filter in the list above.

Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2019-12-18 13:50:49 +08:00
Danfeng Liu (c)
9961d8b0d6 O
Add notary remove signature test case in nightly

1. Update E2E image Dockerfile for adding notary CLI;
2. Add test case of remove notary signature.

Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2019-12-17 21:00:08 -08:00
Danfeng Liu (c)
364df7a767 Modify robot keyword from press key to press keys
Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2019-12-12 17:01:31 +08:00
danfengliu
6d80803dbb
Merge pull request #10091 from danfengliu/update-e2e-dockerfile-to-latest
Maintain E2E image Dockerfile
2019-12-12 14:04:53 +08:00
Danfeng Liu (c)
fb80ef9cb9 Update E2E image Dockerfile
1. update and docker-compose;
2. Install helm and helm3.
3. dockerd-entrypoint.sh has been modify by commit image manually, so it should be updated.
4. Keyword <Get Matching Xpath Count> is no longer recommended in
library Selenium2Library. After Dockerfile is updated and image is going
to be rebuiled, library Selenium2Library has be updated to 3.0.0, but
not 1.8.0, so keyword must be upgraded.

Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2019-12-12 10:31:15 +08:00
Wenkai Yin(尹文开)
d145f4baf4
Merge pull request #10034 from ywk253100/191128_clean
Clean up admiral-related code
2019-12-04 17:33:31 +08:00
Danfeng Liu (c)
7dbe84d9c6 1. Add nightly test case of Robot-Account; 2. In Go Into Repo keyword, filter element should not be clicked since list in loading state, so add some sleep and waiting for the cirlce icon is gone; 3. Move read-only test case in the end of common.robot.
Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2019-12-03 14:46:54 +08:00
Yogi_Wang
97e08c50c9 refactor project tab
Signed-off-by: Yogi_Wang <yawang@vmware.com>
2019-11-29 12:02:08 +08:00
Wenkai Yin
dd2bc0ecef Clean up admiral-related code
Clean up admiral-related code as it's useless

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-11-28 17:28:54 +08:00
Danfeng Liu (c)
1698cc034a Add a replication scope keyword for waiting the completion fo replication result. All replication test case must use this keyword to verify if image was pulled.
Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2019-11-27 15:51:03 +08:00
danfengliu
6d382bdb18
Merge pull request #9982 from danfengliu/add-restrict-xpath-for-go-into-project
Modify keyword Go Into Project and Quota case
2019-11-25 18:09:50 +08:00
Danfeng Liu (c)
f0750f73de 1. Add element verification for keyword Go Into Project; Make big loop effective by stop assert in keyword Retry Double Keywords When Error; 2. Quota string verification is too restrictive, make it loose a little.
Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2019-11-25 17:44:15 +08:00
Wang Yan
4121545e46
Merge pull request #9972 from wy65701436/cp-9967
inject base image version tag when to build offline package
2019-11-25 14:35:13 +08:00
wang yan
b2b8fd1806 udpate base image to 1.10.0
Signed-off-by: wang yan <wangyan@vmware.com>
2019-11-22 16:47:32 +08:00
Danfeng Liu (c)
08bedb8376 Add a big loop for keyword Go Into Project to make sure if project was not found, search it again
Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2019-11-22 15:04:22 +08:00
Danfeng Liu (c)
b8a7598ffa The criteria of keyword Go Into Project is not strong for verify if it's in project repositroy page, so fix this issue by way of 'Retry Double Keywords When Error'.
Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2019-11-22 12:07:20 +08:00
Wang Yan
abfd634644
Merge pull request #9935 from wy65701436/enable-migrator-master
enable build migrator in master
2019-11-21 18:51:36 +08:00
Danfeng Liu (c)
6e1f560544 Modify 2 points, 1st is add wait time right after scan all; 2nd is add name length for project name to avoid naming repeatly.
Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2019-11-21 15:12:21 +08:00
wang yan
e5bd87ec5d enable build migrator in master
Signed-off-by: wang yan <wangyan@vmware.com>
2019-11-20 14:59:35 +08:00
Wang Yan
5c16cbc7b6
Merge pull request #9922 from wy65701436/push-online
upload online installer with drone
2019-11-19 17:53:22 +08:00
wang yan
17f126c5f7 upload online installer with drone
1, upload online installer and signature
2, inject npm registry server when to build offline

Signed-off-by: wang yan <wangyan@vmware.com>
2019-11-19 17:01:31 +08:00
Danfeng Liu (c)
44b9a8d70a The xpath of repository filter behavior may cause hung-up of repositoy search operation, so change it by the filter in the list column.
Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2019-11-19 14:52:56 +08:00
Danfeng Liu (c)
1a6d9536d6 As the background of clair updated was disabled, and we populate clair db right after harbor deployed with existing data, so all clair relevant test cases should be update as the data of this clair population.
Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2019-11-15 18:08:38 +08:00
Yogi_Wang
e951ceb31c Modify scan now nightly case
Signed-off-by: Yogi_Wang <yawang@vmware.com>
2019-11-13 10:09:03 +08:00
sshijun
14364727ae Nightly case for tag-retention
Signed-off-by: sshijun <sshijun@vmware.com>
2019-11-11 16:58:33 +08:00
Yogi_Wang
58936aae42 Modify nightly case of scanner
Signed-off-by: Yogi_Wang <yawang@vmware.com>
2019-11-11 13:19:37 +08:00
danfengliu
e28aae0c90
Merge pull request #9685 from danfengliu/replication-dest-url-changed
Modify nightly test case due to replication rule element is modified from selector to input
2019-11-01 15:23:45 +08:00
Danfeng Liu (c)
d8c49d9834 Replication rule element is modified from selector to input, so nightly test case should be updated.
Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2019-11-01 13:08:47 +08:00
Will Sun
1c8105e837
Merge pull request #9663 from AllForNothing/nav-modify
Modify harbor-shell UI
2019-11-01 10:26:54 +08:00
sshijun
b4fa143aa4 Modify harbor-shell UI
Signed-off-by: sshijun <sshijun@vmware.com>
2019-11-01 09:31:33 +08:00
wang yan
253e87d186 inject ldflags for harbor compiler and linker
1, replace the UIVERSION file with ldflags, which is generarted by make to inject into the UI core.
2, inject additional ldflags for harbor compiler

Signed-off-by: wang yan <wangyan@vmware.com>
2019-10-30 18:31:42 +08:00
Danfeng Liu (c)
afdf262ca6 In nightly test case of project members, xpath locator of remove a member is not strong enough for location, it used index of elemment, so it should be update by the meaning of the btn.
Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2019-10-28 14:52:24 +08:00
Yogi_Wang
988279cdcb Add webhook nightly case
Signed-off-by: Yogi_Wang <yawang@vmware.com>
2019-10-25 15:25:32 +08:00
Yogi_Wang
7b93e845e1 Modify the words of setting cli secret
Signed-off-by: Yogi_Wang <yawang@vmware.com>
2019-10-22 10:11:25 +08:00
wang yan
b7e336691d fix drone ci docker compose version out of date
1, update docker-compose to latest
2, print log when to package offline installer

Signed-off-by: wang yan <wangyan@vmware.com>
2019-10-18 13:34:48 +08:00
wang yan
66e9278fef add npm registry when to build offline package in drone CI
Signed-off-by: wang yan <wangyan@vmware.com>
2019-10-16 11:59:42 +08:00
Wang Yan
454a427806
Merge pull request #9239 from danfengliu/project-metadata-verification-in-upgrade-verify-script
Add project meta data verifcation In nightly migrate pipeline
2019-10-11 14:05:33 +08:00
Danfeng Liu (c)
96a271f388 In nightly migrate pipeline, after migration, should check all the data which were populated, for now, project meta data were populated, but were not been verified, so I add these verification in this PR.
Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2019-10-11 10:28:02 +08:00
danfengliu
ac0d3c991a Add nightly test case of 'Retag should be forbidden when system configuration read-only mode was set'.
Signed-off-by: danfengliu <danfengl@vmware.com>
2019-10-10 17:13:19 +08:00
danfengliu
feeb6fb2d8 1. Nightly test case failed due to more vulnerbility CVE IDs in image redis, so add 2 new CVE IDs in CVE Whitelist test cases. 2. A Keyword parameter error was fixed in this PR.
Signed-off-by: danfengliu <danfengl@vmware.com>
2019-10-02 16:43:50 +08:00
Danfeng Liu (c)
20dc245631 In nightly helm pipeline, test case 'Project Quotas Control Under GC' failed, it should be timing issue that the valuse in UI is not ready, so I add a keyword 'Retry Keyword When Return Value Mismatch' to retry value getting action.
Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2019-09-25 17:02:05 +08:00
danfengliu
1157f129b4 After angular upgrade, in DB.robot, 4 test cases failed at create-a-new-user, the reason is that no sleep between input or click action, some blank was not inputed, so I add retry keyword for those actions.
Signed-off-by: danfengliu <danfengl@vmware.com>
2019-09-24 10:55:38 +08:00
danfengliu
7844ca0a2f
Merge pull request #9214 from danfengliu/add-nightly-test-case-of-retag-under-readonly-mode
Add id for system configuration repo-readonly-checkbox in UI code
2019-09-24 10:43:55 +08:00
Danfeng Liu (c)
3c8db37616 Add id for system configuration repo-readonly-checkbox in UI code, and add element locator in robot case.
Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2019-09-23 21:55:27 +08:00
danfengliu
cb5a145f27
Merge pull request #9212 from danfengliu/upgrade-preparev17-for-new-migrate-jenkins-pipeline-add-more-test-data
commented 2 lines to remove Vulnerability scan all data verification
2019-09-23 19:00:19 +08:00
Danfeng Liu (c)
6e4331fb92 In this PR right now, I commented 2 lines to remove a verification, it's because that Vulnerability data is not consistent when migrate harbor from 1.7 to 1.9, I've filed an issue to follow it, once it's fixed, these 2 commented lines will be come back.
Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2019-09-23 16:14:01 +08:00
Danfeng Liu (c)
cca1fab069 Modify sign-up button xpath from relative html path to id, and modify script.
Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2019-09-23 15:40:27 +08:00
Danfeng Liu (c)
9a147f0999 In nightly test, keyword <Create An New Project> failed after angular upgrade, the OK button in create new project page was clicked, but it's not effective, so I add a retry for OK button click, if the button was not disappeared, script will be clicked again.
Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2019-09-20 16:22:10 +08:00
Danfeng Liu (c)
9e05e6dc74 After angula upraded, all migrate pipelines failed at system setting project creation verification. Keyword of Page Should Contain is not working anymore in new UI, so I choosen a new more precise way of checking the select element value of 'everyone'
Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2019-09-20 14:55:53 +08:00
Danfeng Liu (c)
5d1913842c Script test case for project quotas, there will be 2 or 3 test cases in this PR, like project quota edit, prject quota functionality.
Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2019-09-18 17:55:25 +08:00
Yogi_Wang
a7c7a8e675 Upgrade angualr from 7.1.3 to 8.2.0 and clarity from 1.0 to 2.2
Signed-off-by: Yogi_Wang <yawang@vmware.com>

Signed-off-by: Meina Zhou <meinaz@vmware.com>
Signed-off-by: sshijun <sshijun@vmware.com>
2019-09-18 10:12:20 +08:00
Danfeng Liu (c)
ca8590c878 Replace CVE sample image from other to redis in union, redis is stable in relative, so test result will be stable relatively
Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2019-09-09 18:36:07 +08:00
danfengliu
8503957eac 1.Add CVE white list API test into API_DB.robot;2.Random data for prject name should use lower case %m%s;3.Replace from harbor to self.
Signed-off-by: danfengliu <danfengl@vmware.com>
2019-09-04 15:50:09 +08:00
danfengliu
7d681c623b Add AWS-ECR and Google-GCR replication test into nighly tests.
Signed-off-by: danfengliu <danfengl@vmware.com>
2019-09-02 17:53:49 +08:00
danfengliu
7217ed5358 Add CVE Whitelist test cases into nightly test, first test case is system CVE Whitelist test.
Signed-off-by: danfengliu <danfengl@vmware.com>
2019-08-28 14:01:43 +08:00
Wang Yan
4f7e225e69
Merge pull request #8530 from danfengliu/get-ca-from-harbor-api
After helm cli test was added to nightly, ca was get by reading from …
2019-08-06 14:00:41 +08:00
danfengliu
3eeb8cf355 After helm cli test was added to nightly, ca was get by reading from local file, but in helm nighly test, ca file was not in local, it has to be got from harbor api.
Signed-off-by: danfengliu <danfengl@vmware.com>
2019-08-06 11:28:54 +08:00
danfengliu
6818ce9b06
Adding retry for wait element visibility, in nightly test case Developer-Operate-Labels, project didn't show up when checking its visiblity, so add some wait for this check. (#8554)
Signed-off-by: danfengliu <danfengl@vmware.com>
2019-08-05 16:13:39 +08:00
danfengliu
b7803571d4
Currently, nightly test pipeline was only in one level category of auth_mode and upgrade, now we like to add a level base on the original level which is harbor deployment parameters. (#8398)
Signed-off-by: danfengliu <danfengl@vmware.com>
2019-08-01 15:10:54 +08:00
danfengliu
01e3175647
In nightly test, there're some element click error occured in a rare occasion, so add a sleep to give it a try. (#8428)
Signed-off-by: danfengliu <danfengl@vmware.com>
2019-07-29 13:37:02 +08:00
danfengliu
a31d12e01e
modify xpath of project member due to summary tab was added in project. (#8421)
Signed-off-by: danfengliu <danfengl@vmware.com>
2019-07-26 17:18:47 +08:00
danfengliu
8665274406 In nighly test case <Project Level Image Serverity Policy>, scan result of haproxy image is nolonger high but medium, it should be a bug of clair, so we replace haproxy by postgres, and also we pull postgres with sha256 to make sure the image under test is alway the specific one.
Signed-off-by: danfengliu <danfengl@vmware.com>
2019-07-25 10:27:10 +08:00
danfengliu
554b0771fe
Due to adding new feature for white list, xpath of configuration changed, it caused failure of nightly tests, so it should be fixed. (#8307)
Signed-off-by: Danfeng Liu (c) <danfengl@vmware.com>
2019-07-17 16:46:26 +08:00
danfengliu
9b61bf4fce
In nightly test case 'list helm chart', delete chart (#8280)
Signed-off-by: danfengliu <danfengl@vmware.com>
2019-07-17 15:32:10 +08:00
danfengliu
a8300d91e6
Add a nightly test case helm CLI, in this case, we verify help repo add and helm push. (#8240)
Signed-off-by: danfengliu <danfengl@vmware.com>
2019-07-16 14:00:30 +08:00
danfengliu
db012c816d
In nightly test case <Delete Multi Member>, 'action' was clicked, but the dropdown list was't not shown up, so we should add a comfirmation to make sure the expected element show up. (#8146)
Signed-off-by: danfengliu <danfengl@vmware.com>
2019-07-08 15:28:28 +08:00
Wenkai Yin(尹文开)
766d5ee017
Merge pull request #8118 from wy65701436/fix-offline
Fix issues on packaging offline installer
2019-06-25 08:41:27 +08:00
danfengliu
432d0757f0
In nightly test, case Disable-Scan-Schedule always failed at action of edit button click, so we should add a comfirmation to make sure that this button will be disappeared after click action. (#8126)
Signed-off-by: danfengliu <danfengl@vmware.com>
2019-06-24 18:09:34 +08:00
wang yan
f32a8c60b6 Fix issues on packaging offline installer
Signed-off-by: wang yan <wangyan@vmware.com>
2019-06-21 14:30:06 +08:00
Wang Yan
8cd155088d
Merge pull request #8073 from wy65701436/fix-build-offline
Fix issue on building package offline and online installer
2019-06-19 19:53:22 +08:00
danfengliu
74d39afbb0 Modify robot-framework keyword <Retry Double Keywords When Error>, when the second action is success, should quit keyword.
Signed-off-by: danfengliu <danfengl@vmware.com>
2019-06-18 16:40:11 +08:00
wang yan
ab5ca5e083 Fix issue on building package offline and online installer
Signed-off-by: wang yan <wangyan@vmware.com>
2019-06-18 14:57:17 +08:00
Wang Yan
251b481165
Merge pull request #7983 from danfengliu/fix-nightly-keyword-Go-Into-Repo
Element Clicked returns OK, but the element was not click functionally
2019-06-17 17:53:38 +08:00
danfengliu
a9998adfae In robot-framework, Element Clicked returns OK, but the element was not click functionally
Signed-off-by: danfengliu <danfengl@vmware.com>
2019-06-17 16:12:38 +08:00