allow non-loggedin users to access public bucket (#5570)

* conditionally render main action buttons

- Make bucket action will be available only for loggedIn users
- File upload button will be avaialble for loggedIn users
  and non-loggedIn users if the prefix is writable

* select the bucket and prefix from the url

When the url contains bucket and prefix, it will be selected
by default instead of the first bucket from the list.

* show BucketSearch only for LoggedIn users

* allow non-LoggedIn users to access public bucket

* removed unused Router imports

* fix test case failures in BucketList.test.js

* remove dupicate minioBrowserPrefix from url

since history is already initialized with minioBrowserPrefix,
no need to use it in push or replace

* remove unused match from App component

* remove unused minioBrowserPrefix imports
This commit is contained in:
Kanagaraj M
2018-02-24 08:59:30 +05:30
committed by Harshavardhana
parent bb0adea494
commit 416841869a
16 changed files with 239 additions and 68 deletions

View File

@@ -26,7 +26,8 @@ jest.mock("../../web", () => ({
return Promise.resolve({
objects: [{ name: "test1" }, { name: "test2" }],
istruncated: false,
nextmarker: "test2"
nextmarker: "test2",
writable: false
})
}),
RemoveObject: jest.fn(({ bucketName, objects }) => {
@@ -124,6 +125,10 @@ describe("Objects actions", () => {
{
type: "objects/SET_SORT_ORDER",
sortOrder: false
},
{
type: "objects/SET_PREFIX_WRITABLE",
prefixWritable: false
}
]
return store.dispatch(actionsObjects.fetchObjects()).then(() => {
@@ -143,6 +148,10 @@ describe("Objects actions", () => {
objects: [{ name: "test1" }, { name: "test2" }],
marker: "test2",
isTruncated: false
},
{
type: "objects/SET_PREFIX_WRITABLE",
prefixWritable: false
}
]
return store.dispatch(actionsObjects.fetchObjects(true)).then(() => {
@@ -197,6 +206,16 @@ describe("Objects actions", () => {
expect(window.location.pathname.endsWith("/test/abc/")).toBeTruthy()
})
it("create objects/SET_PREFIX_WRITABLE action", () => {
const store = mockStore()
const expectedActions = [
{ type: "objects/SET_PREFIX_WRITABLE", prefixWritable: true }
]
store.dispatch(actionsObjects.setPrefixWritable(true))
const actions = store.getActions()
expect(actions).toEqual(expectedActions)
})
it("creates objects/REMOVE action", () => {
const store = mockStore()
const expectedActions = [{ type: "objects/REMOVE", object: "obj1" }]