2016-06-17 1 views
0

Dockerコンテナのペアを実行しています.1つはDynamoDBローカル実行中で、もう1つは実行中のNodejです。彼らがリンクされていると私は、リンクを実行することで作業されていることを確認することができますモアテストでDynamoDBクエリのタイムアウトが発生する

$ aws dynamodb list-tables --endpoint-url=http://dynamodb:8000 

私はこれが問題の一部であるとは思わない、私は完全を期すため、ここでそれをリストしています。

しかし、次のテストスクリプトをmochaで手に入れることができません。アウトテストちょうど回:ここ

Error: timeout of 2000ms exceeded. Ensure the done() callback is being called in this test.

は、テストスクリプトです:

'use strict'; 

var expect = require('chai').expect; 
var aws = require('aws-sdk'); 

aws.config.update({ accessKeyId: 'fakeAccessKey', secretAccessKey: 'fakeSecretAccessKey', region: 'fakeRegion', }); 
var db = new aws.DynamoDB({ params: { endpoint: 'http://dynamodb:8000' }}); 

describe('queue-handler', function() { 
    it('should connect to dynamodb and list tables', function(done) { 
     console.log("Check for tables..."); 
     db.listTables({}, function(err, data) { 
      console.log("list tables returned."); 
      if(err) 
       console.log("Error listTables: " + JSON.stringify(err, null, 2)); 
      else 
       console.log("listTables: " + JSON.stringify(data, null, 2)); 
      done(); 
     }); 
    }); 
}); 

私が見ることができる「テーブルを確認...」ログインではなく、「一覧表が返さ。」。

+0

ありません。この経験私自身が、(HTTP [ドキュメント]から:// docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html#constructor_details) 'endpoint'はコンストラクタに渡される' options'オブジェクトの直接のプロパティでなければなりません: 'new aws.DynamoDB({endpoint :...}) ' – robertklep

+0

@robertklepそれでした!あなたが答えとして投稿するなら、私はそれを受け入れるでしょう –

答えて

0

The documentationはoptionsオブジェクト(およびparamsにネストされていない)にendpointは "直接" プロパティであることを示唆している:

var db = new aws.DynamoDB({ endpoint: 'http://dynamodb:8000' }); 
関連する問題