Uncaught NetworkingError: Cannot read property 'replace' of undefined Error

83 Views Asked by At

I'm getting the following error when trying to run the following code. My goal is to delete all items in both the User and Item tables. User and Item correspond to Dynamoose models.

The for loop is running correctly. But the scan().exec callback function isn't being run at all and it's throwing the following error.

What is really strange is on CircleCI this problem doesn't happen. It only happens on my local computer. I have tried removing node_modules and running npm install with no luck. Also it works fine if I remove the code below.

Any ideas? Or even where to start debugging this?

Code:

var dbarray = [User, Item];
for (var i = 0; i < dbarray.length; i++) {
    dbarray[i].scan().exec(function(err, items) {
        if (err) {
            throw err;
        }
        items.forEach(function(item, key) {
            item.delete();
        });
    });
}

Error:

    General
      1) "before each" hook


  0 passing (10s)
  1 failing

  1) "before each" hook:
     Uncaught NetworkingError: Cannot read property 'replace' of undefined
      at findTargetPort (node_modules/zombie/lib/reroute.js:50:28)
      at Socket.Net.Socket.connect (node_modules/zombie/lib/reroute.js:69:18)
      at Agent.connect [as createConnection] (net.js:106:35)
      at Agent.createSocket (_http_agent.js:217:26)
      at Agent.addRequest (_http_agent.js:187:10)
      at new ClientRequest (_http_client.js:272:16)
      at Object.request (http.js:39:10)
      at features.constructor.handleRequest (node_modules/aws-sdk/lib/http/node.js:42:23)
      at executeSend (node_modules/aws-sdk/lib/event_listeners.js:304:29)
      at Request.SEND (node_modules/aws-sdk/lib/event_listeners.js:318:9)
      at Request.callListeners (node_modules/aws-sdk/lib/sequential_executor.js:101:18)
      at Request.emit (node_modules/aws-sdk/lib/sequential_executor.js:77:10)
      at Request.emit (node_modules/aws-sdk/lib/request.js:683:14)
      at Request.transition (node_modules/aws-sdk/lib/request.js:22:10)
      at AcceptorStateMachine.runTo (node_modules/aws-sdk/lib/state_machine.js:14:12)
      at node_modules/aws-sdk/lib/state_machine.js:26:10
      at Request.<anonymous> (node_modules/aws-sdk/lib/request.js:38:9)
      at Request.<anonymous> (node_modules/aws-sdk/lib/request.js:685:12)
      at Request.callListeners (node_modules/aws-sdk/lib/sequential_executor.js:115:18)
      at callNextListener (node_modules/aws-sdk/lib/sequential_executor.js:95:12)
      at node_modules/aws-sdk/lib/event_listeners.js:220:9
      at finish (node_modules/aws-sdk/lib/config.js:315:7)
      at node_modules/aws-sdk/lib/config.js:333:9
      at Credentials.get (node_modules/aws-sdk/lib/credentials.js:126:7)
      at getAsyncCredentials (node_modules/aws-sdk/lib/config.js:327:24)
      at Config.getCredentials (node_modules/aws-sdk/lib/config.js:347:9)
      at Request.SIGN (node_modules/aws-sdk/lib/event_listeners.js:192:22)
      at Request.callListeners (node_modules/aws-sdk/lib/sequential_executor.js:101:18)
      at Request.emit (node_modules/aws-sdk/lib/sequential_executor.js:77:10)
      at Request.emit (node_modules/aws-sdk/lib/request.js:683:14)
      at Request.transition (node_modules/aws-sdk/lib/request.js:22:10)
      at AcceptorStateMachine.runTo (node_modules/aws-sdk/lib/state_machine.js:14:12)
      at node_modules/aws-sdk/lib/state_machine.js:26:10
      at Request.<anonymous> (node_modules/aws-sdk/lib/request.js:38:9)
      at Request.<anonymous> (node_modules/aws-sdk/lib/request.js:685:12)
      at Request.callListeners (node_modules/aws-sdk/lib/sequential_executor.js:115:18)
      at Timeout.callNextListener [as _onTimeout] (node_modules/aws-sdk/lib/sequential_executor.js:95:12)
1

There are 1 best solutions below

0
Charlie Fish On BEST ANSWER

The issue turned out to be with Zombie.js. Specially Browser.localhost('localhost', port);. Removing that line and passing in http://localhost:3000 before each visit command solved the problem.

Not sure why the error was mentioning AWS and things like that.