yezy
yezy

Reputation: 49

Port Errors running node.js application

i cloned an node.js application and , to set up, i did an npm install and npm install -g nodemon , i wanted to run it locally on port 3000, so in my app.js file i added

app.listen(3000, () => console.log('Server running on port 3000!'))

and then i tried to run it by using node app.js but i am getting this errors enter image description here

this is my app.js file

var express = require('express');
var engine = require('ejs-locals');
var path = require('path');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var fileUpload = require('express-fileupload');
var request = require('request');
var MongoClient = require('mongodb').MongoClient;
var ObjectId = require('mongodb').ObjectID;

var routes = require('./routes/index');
var testgrid = require('./routes/testgrid');
var hsdes_query = require('./routes/hsdes_query');
var find_coverage = require('./routes/find_coverage');

var url = "mongodb://127.0.0.1:27017/onegrid_int";

var config = require('./config');

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.engine('ejs', engine);
app.set('view engine', 'ejs');

// uncomment after placing your favicon in /public
//app.use(favicon(__dirname + '/public/favicon.ico'));
app.use(logger('dev'));
app.use(fileUpload());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

var manual_ti_payload_template = {
  "attributes": [],
  "blackList": "string",
  "description": "string",
  "endDate": "2019-02-03T21:28:12.567Z",
  "id": "string",
  "itemId": "string",
  "key": "string",
  "name": "ascii string",
  "namespace": "ascii string",
  "ownerIdsid": "string",
  "planningAttributes": [],
  "resources": [],
  "resourcesVersions": [],
  "startDate": "2019-02-03T21:28:12.567Z",
  "type": "manualitem",
  "version": 0,
  "whiteList": "string"
}


app.post('/updategtaproc', function(req, res){

  console.log("updategtaproc", req.body)
  var username = "Lab_FMVPOSumit";
  var password = "bdzxl12$";
  var auth = "Basic " + new Buffer(username + ":" + password).toString("base64");
  request.post( {
        url : 'http://gta.intel.com/procedures/api/v1/procedures/' + req.body.name,
        headers : {
            "Authorization" : auth
        },
        json: {"description": req.body.description, "steps":req.body.steps}

      }, function(error, response, body) { 
          console.log("updategtaproc response",error, body);
          res.send(body)

      });

}); 

app.post('/createnupdategtaproc', function(req, res){

  console.log("createnupdategtaproc", req.body)
  var username = "Lab_FMVPOSumit";
  var password = "bdzxl12$";
  var auth = "Basic " + new Buffer(username + ":" + password).toString("base64");
  var ti_payload = Object.assign({}, manual_ti_payload_template);
  ti_payload.name = req.body.expected;
  ti_payload.description = req.body.description;
  ti_payload.ownerIdsid = username;
  ti_payload.namespace = "vtt-gve-gqe"
  console.log(ti_payload)

  request.post( {
        url : 'https://gta.intel.com/api/tp/v1/testitems',
        headers : {
            "Authorization" : auth
        },
        json: ti_payload,

      }, function(error, response, body) { 
          console.log("updategtaproc response",error, body);
          if (body && body.itemId) {
              console.log("Test case created successfully", body.itemId);
              var itemId = body.itemId;
              request.post( {
                url : 'http://gta.intel.com/procedures/api/v1/procedures/' + body.itemId,
                headers : {
                    "Authorization" : auth
                },
                json: {"description": req.body.description, "steps":req.body.steps}

              }, function(error, response, body) { 
                  console.log("updategtaproc response",error, body);
                  console.log("Test Procedure Uploaded Successfully");
                  body['itemId'] = itemId
                  res.send(body)

              });


          } else {
              console.log("Failed to Create Test Case");
              res.send({"message":"Failed To Create Test Case"})
          }

      });

}); 

app.post('/getgriditems/:id', function(req, res){
    
    MongoClient.connect(url, function(err, db) {
       if(err){
          console.log('onegrid_int//getgriditems/:id unable to connect to mongodb')
       }
       else
       {
          var collection_name =  (req.params.id).toLowerCase() + "-" + "griditems"
          var collection = db.collection(collection_name);
          
          var objectIdArr = [];
          for (var key in req.body) {

              if (req.body.hasOwnProperty(key)) {
                item = req.body[key];
                try {
                     objectIdArr.push(ObjectId(String(item)));
                }
                catch (err) 
                {  
                   // Invalid Object ID 
                }
               
              }
          }
          
          collection.find({"_id" : {"$in" : objectIdArr }}).toArray(function(err, griditems) {
            if(err)
            {
              console.log('onegrid//getgriditems/:id unable to get grid items')
            }
            else
            {

              var paths = []
              for ( var r in griditems){
                //console.log('path :', result[r]['path'])
                paths.push(griditems[r]['path'].join(",") + ',' + griditems[r]['testItem']['itemId'])
              }

              console.log("paths", paths)

              var global_result_collection = db.collection("onegrid-global-results");
              global_result_collection.find({"full_path" : {"$in" : paths }}).toArray(function(err, results) {
                if(err)
                {
                  console.log('onegrid//getgriditems/:id unable to get test results')
                }
                else
                {
                  var metadata = {}
                  metadata['griditems'] = griditems
                  metadata['results'] = results
                  console.log("test_results", results)
                  res.send(metadata);
                  db.close();
                }
              });
            }
          });
       }
    });


});


app.post('/get_all_tags', function(req, res){

      MongoClient.connect(url, function(err, db) {
           if(err){
              console.log('onegrid/manual_tests/unable to connect to mongodb')
           }
           else
           {
             
              var collection = db.collection('user_tags');
              collection.find().toArray(function(err, tags) {
                if(err)
                {
                  console.log('onegrid/manual_tests/error getting documents from collection')
                }
                else
                {

                  var tag_type_ar = tags.map(a => a.type_tag);
                  //console.log('onegrid/manual_tests/number_of_docs/', tests.length)
                  //console.log('onegrid/manual_tests/tags/', tags_name)
                  res.send(tag_type_ar);
                  db.close();
                  
                }
              });
       }
    });


});




app.post('/getsettags', function(req, res){
    //console.log('body: ' + JSON.stringify(req.body));
    var url = "mongodb://127.0.0.1:27017/onegrid";
    MongoClient.connect(url, function(err, db) {
       if(err){
          console.log('onegrid/getsettags/unable to connect to mongodb')
       }
       else
       {
          var objectId = ObjectId(req.body.id);
          var collection = db.collection('gve_manual_testitems');
          
          if(req.body.op == 'set_add') {

               collection.findOne({ _id : objectId }, function(err, result) {
                    if(err)
                    {
                      console.log('onegrid/getsettags/set/unable to get test item id', objectId)
                    }
                    else
                    {
                      //console.log('onegrid/getsettags/set/test item id current tag value', result['tags'])

                      if(result['tags'] && result['tags'].indexOf(req.body.newtag) != -1) {
                           res.send(result);
                           db.close();  
                      }
                      else {

                            if(result['tags'])
                            {
                                result['tags'].push(req.body.newtag)
                            }
                            else
                            {
                                result['tags'] = [req.body.newtag];

                            }

                            collection.updateOne({ _id : objectId }, { $set: { "tags" : result['tags'] } }, function(err, result) {
                            if(err)
                            {
                              console.log('onegrid/getsettags/set/unable to set tags')
                            }
                            else
                            {
                              console.log('tags added successfully to test item');
                              var test_tags = result;

                              if(!req.body.skip_tag_source_update) {
                              
                             
                                  var user_tags = db.collection('user_tags');
                                  var type_tag = req.body.newtag;
                                  var type = req.body.newtag.split(":")[0]
                                  var tag = req.body.newtag.split(":")[1]

                                  var tag_obj = {'type':type, 'tag': tag, 'type_tag' : type_tag}



                                  user_tags.insertOne(tag_obj, function(err, result) {
                                        if(err)
                                        {
                                          console.log('onegrid/getsettags/set unable to add to user tag')
                                        }
                                        else
                                        {
                                          console.log('tags added to user_tags')
                                          res.send(test_tags);
                                          db.close();
                                        }
                                   });

                                }
                                else
                                {
                                     res.send(test_tags);
                                     db.close();

                                }
                              //var newtag = req.body.newtag;
                              //var tag_type =  newtag.split(":")[0];
                              //var tag_name =  newtag.split(":")[1];
                              //console.log(tag_type,tag_name)
                            }
                          });

                      }
                    }
               });
        }

        if(req.body.op == 'set_remove') {

               collection.findOne({ _id : objectId }, function(err, result) {
                    if(err)
                    {
                      console.log('onegrid/getsettags/set/unable to get test item id', objectId)
                    }
                    else
                    {
                    //console.log('onegrid/getsettags/set/test item id current tag value', result['tags'])

                    result['tags'].splice(result['tags'].indexOf(req.body.newtag),1);

                    //console.log('onegrid/getsettags/set/test item id current tag value', result['tags'])
                  
                    collection.updateOne({ _id : objectId }, { $set: { "tags" : result['tags'] } }, function(err, result) {
                    if(err)
                    {
                      console.log('onegrid/getsettags/set/unable to set tags')
                    }
                    else
                    {
                      console.log('tags removed successfully')
                      
                      //collection = db.collection('user_tags');
                      //var newtag = req.body.newtag;
                      //var tag_type =  newtag.split(":")[0];
                      //var tag_name =  newtag.split(":")[1];
                      //console.log(tag_type,tag_name)
                      res.send(result);
                      db.close();
                    }
                  });

                     
                    }
               });
        }


        if(req.body.op == 'get') {
                 collection.findOne({ _id : objectId }, function(err, result) {
                    if(err)
                    {
                      console.log('onegrid/manual_tests/unable to get tags')
                    }
                    else
                    {
                      //console.log('tags retrieved successfully ', result['tags'])
                      if(result['tags'])
                        res.send(result['tags'].join(","));
                      else
                        res.send("");
                      
                      db.close();
                    }
                  });
          }

       }
    });


});



app.post('/gettestprocs/:id', function(req, res){
    console.log('gettestprocs body: ' + (req.body.itemId));
    //var url = "mongodb://127.0.0.1:27017/og1";
    MongoClient.connect(url, function(err, db) {
       if(err){
          console.log('onegrid/manual_tests/unable to connect to mongodb')
       }
       else
       {
          var collection_name =  (req.params.id).toLowerCase() + "-" + "testprocs"
          var collection = db.collection(collection_name);
          
          collection.findOne({ "id" : req.body.itemId },function(err, result) {
            if(err)
            {
              console.log('onegrid/manual_tests/unable to get tags')
            }
            else
            {
              console.log('test proc:', result)
              res.send(result);
              db.close();
            }
          });
       }
    });


});

app.post('/gettestprocsbyitemid', function(req, res){
    //console.log('gettestprocs body: ' + (req.body));
    var url = "mongodb://127.0.0.1:27017/onegrid_int";
    MongoClient.connect(url, function(err, db) {
       if(err){
          console.log('onegrid/manual_tests/unable to connect to mongodb')
       }
       else
       {
          
          

          console.log(req.body)

          /*if(String(req.body.grid_type) == "MANUAL"){
            collection_name = "n_gve_manual_testprocs"

          } else if(String(req.body.grid_type) == "OLD_MANUAL") {
            collection_name = "gve_manual_testprocs"

          } else if(String(req.body.grid_type) == "SURFACE") {
            collection_name = "gve_surface_testprocs"

          } 
          else if(String(req.body.grid_type) == "AUTO") {


          }*/

           //var tp = testplans.filter(function(x){return x.itemId == req.params.id})[0];
           
           var collection_name =  (req.body.testplan_id).toLowerCase() + "-" + "testprocs"
            

          
          var collection = db.collection(collection_name);
          
          
          collection.findOne({"id" : String(req.body.proc_id) },function(err, result) {
            if(err)
            {
              console.log('onegrid/manual_tests/unable to get tags')
            }
            else
            {
              console.log('test proc:', result)
              res.send(result);
              db.close();
            }
          });
       }
    });


});



app.use('/', routes);
app.use('/testgrid', testgrid);
app.use('/hsdes_query', hsdes_query);
app.use('/find_coverage', find_coverage);

// catch 404 and forward to error handler
app.use(function(req, res, next) {
    var err = new Error('Not Found');
    err.status = 404;
    next(err);
});


// error handlers

// development error handler
// will print stacktrace
if (app.get('env') === 'development') {
    app.use(function(err, req, res, next) {
        res.status(err.status || 500);
        res.render('error', {
            message: err.message,
            error: err
        });
    });
}

// production error handler
// no stacktraces leaked to user
app.use(function(err, req, res, next) {
    res.status(err.status || 500);
    res.render('error', {
        message: err.message,
        error: {}
    });
});


app.listen(3000, () => console.log('Server running on port 3000!'))


module.exports = app;

another app.js in C:\projects\New Project\onegrid\web\node_modules\ejs-locals\example

var express = require('express')
  , engine = require('../')
  , app = express();

// use ejs-locals for all ejs templates:
app.engine('ejs', engine);

app.set('views',__dirname + '/views');
app.set('view engine', 'ejs'); // so you can render('index')

// render 'index' into 'boilerplate':
app.get('/',function(req,res,next){
  res.render('index', { what: 'best', who: 'me', muppets: [ 'Kermit', 'Fozzie', 'Gonzo' ] });
});

app.get('/foo.js', function(req,res,next){
    res.sendfile('foo.js');
})

app.get('/foo.css', function(req,res,next){
    res.sendfile('foo.css');
})

app.listen(3000);

what am i doing wrong , i just want to run it on localhost 3000. ?

Upvotes: 0

Views: 599

Answers (1)

Montgomery Watts
Montgomery Watts

Reputation: 4034

Your terminal shows you running node server.js but your file is called app.js.

Upvotes: 1

Related Questions