minio / mint

Collection of tests to detect overall correctness of MinIO server.
Apache License 2.0
79 stars 50 forks source link

Add support for JSON logging format in minio-js #137

Closed kannappanr closed 6 years ago

kannappanr commented 6 years ago

Add reporter file and the corresponding change in run script and package json to support JSON logging format in minio-js. Fixes (#136)

nitisht commented 6 years ago

Discussed with @kannappanr the issues will be fixed after https://github.com/minio/minio-js/pull/621 gets merged. This is the current output:

{
  "name": "minio-js",
  "status": "pass",
  "function": "should list bucket",
  "duration": 1564,
  "error": ""
}
{
  "name": "minio-js",
  "status": "pass",
  "function": "should list buckets as promise",
  "duration": 335,
  "error": ""
}
{
  "name": "minio-js",
  "status": "pass",
  "function": "should fail",
  "duration": 0,
  "error": ""
}
{
  "name": "minio-js",
  "status": "pass",
  "function": "should succeed",
  "duration": 1321,
  "error": ""
}
{
  "name": "minio-js",
  "status": "pass",
  "function": "should delete bucket",
  "duration": 1109,
  "error": ""
}
{
  "name": "minio-js",
  "status": "pass",
  "function": "should succeed as promise",
  "duration": 1108,
  "error": ""
}
{
  "name": "minio-js",
  "status": "pass",
  "function": "should delete bucket",
  "duration": 796,
  "error": ""
}
{
  "name": "minio-js",
  "status": "pass",
  "function": "should check if bucket exists",
  "duration": 499,
  "error": ""
}
{
  "name": "minio-js",
  "status": "pass",
  "function": "should check if bucket does not exist",
  "duration": 757,
  "error": ""
}
{
  "name": "minio-js",
  "status": "pass",
  "function": "should check if bucket exists, promise",
  "duration": 248,
  "error": ""
}
{
  "name": "minio-js",
  "status": "pass",
  "function": "should fail for nonexistent bucket",
  "duration": 806,
  "error": ""
}
{
  "name": "minio-js",
  "status": "pass",
  "function": "should succeed as promise",
  "duration": 244,
  "error": ""
}
{
  "name": "minio-js",
  "status": "pass",
  "function": "should upload 100KB stream",
  "duration": 1802,
  "error": ""
}
{
  "name": "minio-js",
  "status": "pass",
  "function": "should download 100KB and match content",
  "duration": 992,
  "error": ""
}
{
  "name": "minio-js",
  "status": "pass",
  "function": "should upload 100KB Buffer",
  "duration": 519,
  "error": ""
}
{
  "name": "minio-js",
  "status": "pass",
  "function": "should download 100KB Buffer upload and match content",
  "duration": 264,
  "error": ""
}
{
  "name": "minio-js",
  "status": "pass",
  "function": "should upload 100KB string",
  "duration": 529,
  "error": ""
}
{
  "name": "minio-js",
  "status": "fail",
  "function": "should download 100KB string upload and match content",
  "duration": 511,
  "error": ""
}
{
  "name": "minio-js",
  "status": "fail",
  "function": "\"after all\" hook",
  "duration": 258,
  "error": {
    "length": 1,
    "name": "",
    "prototype": {}
  }
}
nitisht commented 6 years ago

Tested with latest release, couple of issues

{
  "name": "minio-js",
  "status": "PASS",
  "function": "removeObject(bucketName, objectName, cb)",
  "args": "",
  "alert": "remove objects created for test",
  "duration": 2
}
{
  "name": "minio-js",
  "status": "PASS",
  "function": "initiateNewMultipartUpload(bucketName, objectName, contentType, cb)",
  "args": "",
  "alert": "",
  "duration": 11
}
{
  "name": "minio-js",
  "status": "PASS",
  "function": "fPutObject(bucketName, objectName, filePath, contentType, callback)",
  "args": "",
  "alert": "",
  "duration": 135
}
{
  "name": "minio-js",
  "status": "PASS",
  "function": "fPutObject(bucketName, objectName, filePath, contentType, callback)",
  "args": "contentType: customContentType",
  "alert": "",
  "duration": 157
}
{
  "name": "minio-js",
  "status": "PASS",
  "function": "fGetObject(bucketName, objectName, filePath, callback)",
  "args": "",
  "alert": "verify checksum",
  "duration": 45
}
{
  "name": "minio-js",
  "status": "PASS",
  "function": "removeObject(bucketName, objectName, filePath, callback)",
  "args": "",
  "alert": "",
  "duration": 4
}
{
  "name": "minio-js",
  "status": "PASS",
  "function": "fPutObject(bucketName, objectName, filePath, contentType)",
  "args": "",
  "alert": "",
  "duration": 114
}
{
  "name": "minio-js",
  "status": "PASS",
  "function": "fGetObject(bucketName, objectName, filePath)",
  "args": "",
  "alert": "",
  "duration": 38
}
{
  "name": "minio-js",
  "status": "PASS",
  "function": "removeObject(bucketName, objectName, filePath, callback)",
  "args": "",
  "alert": "",
  "duration": 4
}
{
  "name": "minio-js",
  "status": "PASS",
  "function": "putObject(bucketName, objectName, stream, contentType, cb)",
  "args": "",
  "alert": "",
  "duration": 95
}
nitisht commented 6 years ago

Discussed with @kannappanr on this, log entries can be tweaked later based on confirmation with @abperiasamy , meanwhile we can take this PR in, as the format is overall compliant with json format