diff --git a/integration_test.go b/integration_test.go index 7a170a3..549a09d 100644 --- a/integration_test.go +++ b/integration_test.go @@ -37,21 +37,16 @@ type putResponse struct { } const ( - testContainerName = "friendly" - versionWithNativeNames = "0.27.5" - testListenAddress = "localhost:8082" - testHost = "http://" + testListenAddress + testContainerName = "friendly" + testListenAddress = "localhost:8082" + testHost = "http://" + testListenAddress ) func TestIntegration(t *testing.T) { rootCtx := context.Background() - aioImage := "nspccdev/neofs-aio-testcontainer:" + aioImage := "truecloudlab/frostfs-aio:" versions := []string{ - "0.29.0", - "0.30.0", - "0.32.0", - "0.34.0", - "latest", + "1.2.5", // frostfs-storage v0.36.0 RC } key, err := keys.NewPrivateKeyFromHex("1dd37fba80fec4e6a6f13fd708d8dcb3b29def768017052f6c930fa1c5d90bbb") require.NoError(t, err) @@ -97,10 +92,8 @@ func simplePut(ctx context.Context, t *testing.T, p *pool.Pool, CID cid.ID, vers url := testHost + "/upload/" + CID.String() makePutRequestAndCheck(ctx, t, p, CID, url) - if version >= versionWithNativeNames { - url = testHost + "/upload/" + testContainerName - makePutRequestAndCheck(ctx, t, p, CID, url) - } + url = testHost + "/upload/" + testContainerName + makePutRequestAndCheck(ctx, t, p, CID, url) } func makePutRequestAndCheck(ctx context.Context, t *testing.T, p *pool.Pool, cnrID cid.ID, url string) { @@ -223,11 +216,9 @@ func simpleGet(ctx context.Context, t *testing.T, clientPool *pool.Pool, ownerID require.NoError(t, err) checkGetResponse(t, resp, content, attributes) - if version >= versionWithNativeNames { - resp, err = http.Get(testHost + "/get/" + testContainerName + "/" + id.String()) - require.NoError(t, err) - checkGetResponse(t, resp, content, attributes) - } + resp, err = http.Get(testHost + "/get/" + testContainerName + "/" + id.String()) + require.NoError(t, err) + checkGetResponse(t, resp, content, attributes) } func checkGetResponse(t *testing.T, resp *http.Response, content string, attributes map[string]string) { @@ -277,11 +268,9 @@ func getByAttr(ctx context.Context, t *testing.T, clientPool *pool.Pool, ownerID require.NoError(t, err) checkGetByAttrResponse(t, resp, content, expectedAttr) - if version >= versionWithNativeNames { - resp, err = http.Get(testHost + "/get_by_attribute/" + testContainerName + "/" + keyAttr + "/" + valAttr) - require.NoError(t, err) - checkGetByAttrResponse(t, resp, content, expectedAttr) - } + resp, err = http.Get(testHost + "/get_by_attribute/" + testContainerName + "/" + keyAttr + "/" + valAttr) + require.NoError(t, err) + checkGetByAttrResponse(t, resp, content, expectedAttr) } func getZip(ctx context.Context, t *testing.T, clientPool *pool.Pool, ownerID user.ID, CID cid.ID, version string) { @@ -296,10 +285,8 @@ func getZip(ctx context.Context, t *testing.T, clientPool *pool.Pool, ownerID us baseURL := testHost + "/zip/" + CID.String() makeZipTest(t, baseURL, names, contents) - if version >= versionWithNativeNames { - baseURL = testHost + "/zip/" + testContainerName - makeZipTest(t, baseURL, names, contents) - } + baseURL = testHost + "/zip/" + testContainerName + makeZipTest(t, baseURL, names, contents) } func makeZipTest(t *testing.T, baseURL string, names, contents []string) { @@ -376,6 +363,7 @@ func getDefaultConfig() *viper.Viper { v.SetDefault(cfgRPCEndpoint, "http://localhost:30333") v.SetDefault("server.0.address", testListenAddress) + v.SetDefault(cfgTreeServiceEndpoint, "localhost:8080") return v } @@ -407,15 +395,11 @@ func createContainer(ctx context.Context, t *testing.T, clientPool *pool.Pool, o container.SetCreationTime(&cnr, time.Now()) - if version >= versionWithNativeNames { - var domain container.Domain - domain.SetName(testContainerName) + var domain container.Domain + domain.SetName(testContainerName) - // currently node in aio image knows nothing about new sys attributes - // todo (@dkirillov): #2 use frostfs aio images that supports new attributes - cnr.SetAttribute(containerv2.SysAttributeNameNeoFS, domain.Name()) - cnr.SetAttribute(containerv2.SysAttributeZoneNeoFS, domain.Zone()) - } + cnr.SetAttribute(containerv2.SysAttributeName, domain.Name()) + cnr.SetAttribute(containerv2.SysAttributeZone, domain.Zone()) var waitPrm pool.WaitParams waitPrm.SetTimeout(15 * time.Second) diff --git a/uploader/multipart.go b/uploader/multipart.go index fb6be22..cda4b34 100644 --- a/uploader/multipart.go +++ b/uploader/multipart.go @@ -16,7 +16,8 @@ type MultipartFile interface { func fetchMultipartFile(l *zap.Logger, r io.Reader, boundary string) (MultipartFile, error) { // To have a custom buffer (3mb) the custom multipart reader is used. - // https://github.com/nspcc-dev/neofs-http-gw/issues/148 + // Default reader uses 4KiB chunks, which slow down upload speed up to 400% + // https://github.com/golang/go/blob/91b9915d3f6f8cd2e9e9fda63f67772803adfa03/src/mime/multipart/multipart.go#L32 reader := multipart.NewReader(r, boundary) for {