Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • nilstesd/DatabaseTest
  • anderhi/DatabaseTest
  • kevinhd/DatabaseTest
  • ingelig/DatabaseTest
  • odderikf/DatabaseTest
  • mariunyg/DatabaseTest
  • sandern/DatabaseTest
  • sindrhpa/DatabaseTest
  • anettosi/DatabaseTest
  • sindrtho/DatabaseTest
  • hansjeig/DatabaseTest
  • magnudah/DatabaseTest
  • sarahjel/DatabaseTest
  • rubensv/DatabaseTest
  • albertla/DatabaseTest
  • elisamop/DatabaseTest
  • aadnees/DatabaseTest
  • janmariv/DatabaseTest
  • annabesa/DatabaseTest
  • fredrmon/DatabaseTest
  • kevinmh/DatabaseTest
  • chrismd/DatabaseTest
  • benos/DatabaseTest
  • martimoa/DatabaseTest
  • runevedo/DatabaseTest
  • stianaad/DatabaseTest
  • shanshaq/DatabaseTest
  • mariteil/DatabaseTest
  • simenten/DatabaseTest
  • jingyili/DatabaseTest
  • krisnyb/DatabaseTest
  • jorgaas/DatabaseTest
  • magnusrm/DatabaseTest
  • erlendsu/DatabaseTest
  • otskaug/DatabaseTest
  • sveinuov/DatabaseTest
  • aleksjoh/DatabaseTest
  • kevinah/DatabaseTest
  • hermanrm/DatabaseTest
  • vegaande/DatabaseTest
  • bjornost/DatabaseTest
  • jonaskri/DatabaseTest
  • sigurdhy/DatabaseTest
  • oivindhl/DatabaseTest
  • magomedb/DatabaseTest
  • williaan/DatabaseTest
  • magnewor/DatabaseTest
  • mathiakn/DatabaseTest
  • eyvindnh/DatabaseTest
  • haakodh/DatabaseTest
  • michame/DatabaseTest
  • bragew/DatabaseTest
  • trondjro/DatabaseTest
  • aadneny/DatabaseTest
  • hermanc/DatabaseTest
  • erlinrol/DatabaseTest
  • iliar/DatabaseTest
  • eivinhl/DatabaseTest
  • eivindaj/DatabaseTest
  • sigurlj/DatabaseTest
  • terhaug/DatabaseTest
  • sindretn/DatabaseTest
  • olehenfo/DatabaseTest
  • toberge/DatabaseTest
  • shahedsa/DatabaseTest
  • junill/DatabaseTest
  • helenegj/DatabaseTest
  • tirilbl/DatabaseTest
  • sivertut/DatabaseTest
  • ericy/DatabaseTest
  • perholts/DatabaseTest
  • torstehs/DatabaseTest
  • janloe/DatabaseTest
  • simoaa/DatabaseTest
  • lasseis/DatabaseTest
  • stineof/DatabaseTest
  • jorho/DatabaseTest
  • tdthorki/DatabaseTest
  • iaevange/DatabaseTest
  • chrisrik/DatabaseTest
  • mathiaao/DatabaseTest
  • heleneyj/DatabaseTest
  • haavasma/DatabaseTest
  • martijni/DatabaseTest
  • tobiaand/DatabaseTest
  • sebastel/DatabaseTest
  • sabines/DatabaseTest
  • andinel/DatabaseTest
  • henrimbe/DatabaseTest
  • brigittb/DatabaseTest
  • joakimad/DatabaseTest
  • eirikpl/DatabaseTest
  • alexac/DatabaseTest
  • magnubau/DatabaseTest
  • mahmouim/DatabaseTest
  • thombje/DatabaseTest
  • espkal/DatabaseTest
  • asbjorfk/DatabaseTest
  • eirikhem/DatabaseTest
  • jorgstei/DatabaseTest
  • gautewr/DatabaseTest
  • mariutor/DatabaseTest
  • jonbergq/DatabaseTest
  • jakoblm/DatabaseTest
  • kaspervg/DatabaseTest
  • vkharnes/DatabaseTest
  • abilashy/DatabaseTest
  • larsoos/DatabaseTest
  • lisawil/DatabaseTest
  • michaesl/DatabaseTest
  • krisvane/DatabaseTest
111 results
Show changes
Commits on Source (2)
# See https://help.github.com/ignore-files/ for more about ignoring files.
# dependencies
/node_modules
# testing
/coverage
# production
/build
# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local
.idea
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.idea/workspace.xml
DROP TABLE IF EXISTS person; DROP TABLE IF EXISTS personTest404;
CREATE TABLE person ( CREATE TABLE personTest404 (
id int(11) NOT NULL AUTO_INCREMENT, id int(11) NOT NULL AUTO_INCREMENT,
navn varchar(256) NOT NULL, navn varchar(256) NOT NULL,
alder int(3) DEFAULT NULL, alder int(3) DEFAULT NULL,
......
INSERT INTO person (id, navn, alder, adresse) VALUES INSERT INTO personTest404 (navn, alder, adresse) VALUES
(1, 'Hei Sveisen', 21, 'Gata 1'), ('Hei Sveisen', 21, 'Gata 1'),
(2, 'Hei Heisen', 22, 'Gata 2'); ('Hei Heisen', 22, 'Gata 2');
...@@ -8,7 +8,7 @@ module.exports = class Dao { ...@@ -8,7 +8,7 @@ module.exports = class Dao {
this.pool.getConnection((err, connection) => { this.pool.getConnection((err, connection) => {
console.log("dao: connected to database"); console.log("dao: connected to database");
if (err) { if (err) {
console.log("dao: error connecting"); console.log("dao: error connecting " + this.pool._freeConnections.length);
callback(500, { error: "feil ved ved oppkobling" }); callback(500, { error: "feil ved ved oppkobling" });
} else { } else {
console.log("dao: running sql: " + sql); console.log("dao: running sql: " + sql);
......
...@@ -2,12 +2,11 @@ const Dao = require("./dao.js"); ...@@ -2,12 +2,11 @@ const Dao = require("./dao.js");
module.exports = class PersonDao extends Dao { module.exports = class PersonDao extends Dao {
getAll(callback) { getAll(callback) {
super.query("select navn, alder, adresse from person", [], callback); super.query("select navn, alder, adresse from personTest404", [], callback);
} }
getOne(id, callback) { getOne(id, callback) {
super.query( super.query("select navn, alder, adresse from personTest404 where id=?",
"select navn, alder, adresse from person where id=?",
[id], [id],
callback callback
); );
...@@ -15,10 +14,39 @@ module.exports = class PersonDao extends Dao { ...@@ -15,10 +14,39 @@ module.exports = class PersonDao extends Dao {
createOne(json, callback) { createOne(json, callback) {
var val = [json.navn, json.adresse, json.alder]; var val = [json.navn, json.adresse, json.alder];
super.query( super.query("insert into personTest404 (navn,adresse,alder) values (?,?,?)",
"insert into person (navn,adresse,alder) values (?,?,?)",
val, val,
callback callback
); );
} }
deleteOne(id, callback){
super.query("DELETE FROM personTest404 WHERE id=?",
[id],
callback
);
}
updateOne(json, id, callback){
let navn = json.navn;
let adresse = json.adresse;
let alder = json.alder;
if (json.navn.trim() === ""){
navn = super.query("SELECT navn FROM personTest404 WHERE id=?", [id], callback);
}
if (json.adresse.trim() === ""){
adresse = super.query("SELECT adresse FROM personTest404 WHERE id=?", [id], callback);
}
if(json.alder == null){
alder = super.query("SELECT alder FROM personTest404 WHERE id=?", [id], callback);
}
let val = [navn, adresse, alder, id];
super.query("UPDATE personTest404 SET navn=?, adresse=?, alder=? WHERE id=?",
val,
callback
);
}
}; };
...@@ -5,17 +5,18 @@ const runsqlfile = require("./runsqlfile.js"); ...@@ -5,17 +5,18 @@ const runsqlfile = require("./runsqlfile.js");
// GitLab CI Pool // GitLab CI Pool
var pool = mysql.createPool({ var pool = mysql.createPool({
connectionLimit: 1, connectionLimit: 1,
host: "mysql", host: "mysql.stud.iie.ntnu.no",
user: "root", user: "nilstesd",
password: "secret", password: "lqqWcMzq",
database: "supertestdb", database: "nilstesd",
debug: false, debug: false,
multipleStatements: true multipleStatements: true
}); });
let personDao = new PersonDao(pool); let personDao = new PersonDao(pool);
beforeAll(done => { beforeAll(done => {
runsqlfile("dao/create_tables.sql", pool, () => { runsqlfile("dao/create_tables.sql", pool, () => {
runsqlfile("dao/create_testdata.sql", pool, done); runsqlfile("dao/create_testdata.sql", pool, done);
...@@ -77,3 +78,43 @@ test("get all persons from db", done => { ...@@ -77,3 +78,43 @@ test("get all persons from db", done => {
personDao.getAll(callback); personDao.getAll(callback);
}); });
test("Deleting person from database", done => {
function callback(status, data) {
console.log("Test callback: status=" + status + ", data=" + JSON.stringify(data));
expect(data.affectedRows).toBe(1);
length = data.length;
done();
}
personDao.deleteOne(2, callback);
}, 30000);
test("Update person from database", done => {
let oldName;
let oldAge;
let oldAdress;
personDao.getOne(1, (status, data) => {
oldName = data.navn;
oldAge = data.alder;
oldAdress = data.adresse;
});
personDao.updateOne({navn: "Nissen", alder: 100, adresse: "Steder i verden" }, 1, () => {});
personDao.getOne("1", (satus, data3) => {
if(data3.error) data3 = {navn: "", alder: 2, adresse: "asd"};
expect(oldName).not.toEqual(data3.navn);
expect(oldAge).not.toEqual(data3.alder);
expect(oldAdress).not.toEqual(data3.adresse);
});
done();
});
...@@ -7,7 +7,7 @@ app.use(bodyParser.json()); // for å tolke JSON ...@@ -7,7 +7,7 @@ app.use(bodyParser.json()); // for å tolke JSON
const PersonDao = require("./dao/persondao.js"); const PersonDao = require("./dao/persondao.js");
var pool = mysql.createPool({ var pool = mysql.createPool({
connectionLimit: 2, connectionLimit: 10,
host: "mysql.stud.iie.ntnu.no", host: "mysql.stud.iie.ntnu.no",
user: "nilstesd", user: "nilstesd",
password: "lqqWcMzq", password: "lqqWcMzq",
...@@ -41,4 +41,20 @@ app.post("/person", (req, res) => { ...@@ -41,4 +41,20 @@ app.post("/person", (req, res) => {
}); });
}); });
app.delete("/person/:personId"), (req, res) => {
console.log("Deleting person :personId");
personDao.deleteOne(req.params.personId, (status, data) => {
res.status(status);
res.json(data);
});
}
app.put("/person/:personId"), (req, res) => {
console.log("Updating person :personId");
personDao.updateOne(req.body, req.params.personId, (status, data) => {
res.status(status);
res.json(data);
});
}
var server = app.listen(8080); var server = app.listen(8080);