[#197] Add a leading slash to the FilePath attribute
All checks were successful
All checks were successful
According to the frostfs api specification, the File Path attribute must start with a leading slash. More info: https://git.frostfs.info/TrueCloudLab/frostfs-api Signed-off-by: Roman Loginov <r.loginov@yadro.com>
This commit is contained in:
parent
cc6055bd27
commit
9cf2a4f0e0
2 changed files with 51 additions and 9 deletions
|
@ -220,8 +220,10 @@ func TestBasic(t *testing.T) {
|
|||
require.NoError(t, err)
|
||||
|
||||
obj := hc.frostfs.objects[putRes.ContainerID+"/"+putRes.ObjectID]
|
||||
attr := prepareObjectAttributes(object.AttributeFilePath, objFileName)
|
||||
obj.SetAttributes(append(obj.Attributes(), attr)...)
|
||||
fileName := prepareObjectAttributes(object.AttributeFileName, objFileName)
|
||||
filePath := prepareObjectAttributes(object.AttributeFilePath, objFilePath)
|
||||
obj.SetAttributes(append(obj.Attributes(), fileName)...)
|
||||
obj.SetAttributes(append(obj.Attributes(), filePath)...)
|
||||
|
||||
t.Run("get", func(t *testing.T) {
|
||||
r = prepareGetRequest(ctx, cnrID.EncodeToString(), putRes.ObjectID)
|
||||
|
@ -241,7 +243,11 @@ func TestBasic(t *testing.T) {
|
|||
hc.Handler().DownloadByAttribute(r)
|
||||
require.Equal(t, content, string(r.Response.Body()))
|
||||
|
||||
r = prepareGetByAttributeRequest(ctx, bktName, attrFileName, "/"+objFileName)
|
||||
r = prepareGetByAttributeRequest(ctx, bktName, attrFileName, objFilePath)
|
||||
hc.Handler().DownloadByAttribute(r)
|
||||
require.Equal(t, content, string(r.Response.Body()))
|
||||
|
||||
r = prepareGetByAttributeRequest(ctx, bktName, attrFilePath, objFileName)
|
||||
hc.Handler().DownloadByAttribute(r)
|
||||
require.Equal(t, content, string(r.Response.Body()))
|
||||
})
|
||||
|
@ -252,7 +258,12 @@ func TestBasic(t *testing.T) {
|
|||
require.Equal(t, putRes.ObjectID, string(r.Response.Header.Peek(hdrObjectID)))
|
||||
require.Equal(t, putRes.ContainerID, string(r.Response.Header.Peek(hdrContainerID)))
|
||||
|
||||
r = prepareGetByAttributeRequest(ctx, bktName, attrFileName, "/"+objFileName)
|
||||
r = prepareGetByAttributeRequest(ctx, bktName, attrFileName, objFilePath)
|
||||
hc.Handler().HeadByAttribute(r)
|
||||
require.Equal(t, putRes.ObjectID, string(r.Response.Header.Peek(hdrObjectID)))
|
||||
require.Equal(t, putRes.ContainerID, string(r.Response.Header.Peek(hdrContainerID)))
|
||||
|
||||
r = prepareGetByAttributeRequest(ctx, bktName, attrFilePath, objFileName)
|
||||
hc.Handler().HeadByAttribute(r)
|
||||
require.Equal(t, putRes.ObjectID, string(r.Response.Header.Peek(hdrObjectID)))
|
||||
require.Equal(t, putRes.ContainerID, string(r.Response.Header.Peek(hdrContainerID)))
|
||||
|
@ -266,7 +277,7 @@ func TestBasic(t *testing.T) {
|
|||
zipReader, err := zip.NewReader(readerAt, int64(len(r.Response.Body())))
|
||||
require.NoError(t, err)
|
||||
require.Len(t, zipReader.File, 1)
|
||||
require.Equal(t, objFileName, zipReader.File[0].Name)
|
||||
require.Equal(t, objFilePath, zipReader.File[0].Name)
|
||||
f, err := zipReader.File[0].Open()
|
||||
require.NoError(t, err)
|
||||
defer func() {
|
||||
|
@ -449,6 +460,17 @@ func TestPrepareFileName(t *testing.T) {
|
|||
require.Equal(t, expected, actual)
|
||||
}
|
||||
|
||||
func TestPrepareFilePath(t *testing.T) {
|
||||
filePath := "cat.jpg"
|
||||
expected := "/cat.jpg"
|
||||
actual := prepareFilePath(filePath)
|
||||
require.Equal(t, expected, actual)
|
||||
|
||||
filePath = "/cat.jpg"
|
||||
actual = prepareFilePath(filePath)
|
||||
require.Equal(t, expected, actual)
|
||||
}
|
||||
|
||||
func prepareUploadRequest(ctx context.Context, bucket, content string) (*fasthttp.RequestCtx, error) {
|
||||
r := new(fasthttp.RequestCtx)
|
||||
utils.SetContextToRequest(ctx, r)
|
||||
|
@ -492,6 +514,7 @@ const (
|
|||
keyAttr = "User-Attribute"
|
||||
valAttr = "user value"
|
||||
objFileName = "newFile.txt"
|
||||
objFilePath = "/newFile.txt"
|
||||
)
|
||||
|
||||
func fillMultipartBody(r *fasthttp.RequestCtx, content string) error {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue