【问题标题】:getObject mock is returning 0 bytes filegetObject 模拟返回 0 字节文件
【发布时间】:2018-04-17 21:09:03
【问题描述】:

getObject 模拟返回 0 字节文件。我的模拟要求是获取完整的文件。

我的代码如下:

AWSmock.mock("S3", "getObject", (params: any, callback: any) => {
      try {

        const filePath = path.join(__dirname, "../../seed/dummy_model/SampleNames.zip");
        logger.debug("In mock S3.getObject()");
        const data = readFileSync(filePath);
        const stat = statSync(filePath);
        logger.verbose(JSON.stringify(stat));
        const props = {
          Body: data,
          ContentLength: data.length,
          ETag: '"' + createHash("md5").update(data).digest("hex") + '"',
          Key: params.Key,
          LastModified: stat.mtime,
        };
        logger.verbose(JSON.stringify(props));
        callback(null, props);
      } catch (err) {
        logger.error(err);
        // process.exit(1);
        callback(new Error("Unable to stream file."));
      }
    });

这是图书馆的问题还是我做错了?
请帮我解决一下这个。提前致谢。

【问题讨论】:

    标签: javascript amazon-s3 sinon nock aws-sdk-mock


    【解决方案1】:

    是的,你用错了。试试下面的:

    AWSmock.mock("S3", "getObject", new Buffer(data));
    

    【讨论】:

    • 谢谢曼尼什。我能够通过阅读代码弄清楚,错过了添加作为答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-30
    • 2012-04-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多