github.com/minio/console@v1.4.1/web-app/tests/permissions-6/deleteWithPrefixes.ts (about)

     1  // This file is part of MinIO Console Server
     2  // Copyright (c) 2023 MinIO, Inc.
     3  //
     4  // This program is free software: you can redistribute it and/or modify
     5  // it under the terms of the GNU Affero General Public License as published by
     6  // the Free Software Foundation, either version 3 of the License, or
     7  // (at your option) any later version.
     8  //
     9  // This program is distributed in the hope that it will be useful,
    10  // but WITHOUT ANY WARRANTY; without even the implied warranty of
    11  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    12  // GNU Affero General Public License for more details.
    13  //
    14  // You should have received a copy of the GNU Affero General Public License
    15  // along with this program.  If not, see <http://www.gnu.org/licenses/>.
    16  
    17  import * as roles from "../utils/roles";
    18  import { Selector } from "testcafe";
    19  import * as functions from "../utils/functions";
    20  import { namedTestBucketBrowseButtonFor } from "../utils/functions";
    21  
    22  fixture("Test resources policy").page("http://localhost:9090/");
    23  
    24  const bucket1 = "abucket3";
    25  const test1BucketBrowseButton = namedTestBucketBrowseButtonFor(bucket1);
    26  export const remainingFile = Selector(
    27    ".ReactVirtualized__Table__rowColumn",
    28  ).withText("abcd");
    29  
    30  test
    31    .before(async (t) => {
    32      await functions.setUpNamedBucket(t, bucket1);
    33      await functions.setVersionedBucket(t, bucket1);
    34      await functions.uploadNamedObjectToBucket(
    35        t,
    36        bucket1,
    37        "abc",
    38        "web-app/tests/uploads/noextension",
    39      );
    40      await functions.uploadNamedObjectToBucket(
    41        t,
    42        bucket1,
    43        "abcd",
    44        "web-app/tests/uploads/noextension",
    45      );
    46    })(
    47      "Files with similar prefixes don't get deleted with all versions",
    48      async (t) => {
    49        await t
    50          .useRole(roles.admin)
    51          .navigateTo(`http://localhost:9090/browser`)
    52          .click(test1BucketBrowseButton)
    53          .click(Selector(".ReactVirtualized__Table__rowColumn").withText("abc"))
    54          .click(Selector("#delete-element-click"))
    55          .click(Selector("#delete-versions-switch"))
    56          .click(Selector("#confirm-ok"))
    57          .expect(remainingFile.exists)
    58          .ok();
    59      },
    60    )
    61    .after(async (t) => {
    62      await functions.cleanUpNamedBucketAndUploads(t, bucket1);
    63    });