Browse Source

Merge branch 'develop' of https://gogs.informatik.hs-fulda.de/sheogorath/ircd-js into feature/index.js

feature/index.js
Sheogorath 6 years ago
parent
commit
4ef2a6f885
No known key found for this signature in database GPG Key ID: 1F05CC3635CDDFFD
  1. 19
      src/server.js
  2. 3
      src/user.js
  3. 24
      test/command_pass.js

19
src/server.js

@ -70,15 +70,20 @@ server.create = function create() {
let target = userlist[tokenized[1]] let target = userlist[tokenized[1]]
let message = tokenized[2] let message = tokenized[2]
target.sendMsg(user, message)
break;
target.sendMsg(user, message)
break;
case "QUIT": case "QUIT":
server.closeConnection(user.nickname)
break;
server.closeConnection(user.nickname)
break;
case "PASS":
if (tokenized[1])
user.setPassword(tokenized[1])
break;
default: default:
console.error(`Unknown command: ${command}`);
}
});
console.error(`Unknown command: ${command}`);
}
});
}).on('error', (err) => { }).on('error', (err) => {
console.error(err); console.error(err);
}) })

3
src/user.js

@ -12,6 +12,9 @@ function User(socket) {
this.getNickname = function(nickname) { this.getNickname = function(nickname) {
return this.nickname return this.nickname
} }
this.setPassword = function (password) {
this.password = password
}
this.register = function(username, realname) { this.register = function(username, realname) {
this.username = username this.username = username

24
test/command_pass.js

@ -0,0 +1,24 @@
const assert = require('assert');
const EventEmitter = require('events');
const IRCServer = require("../src/server.js");
describe("PASS OK", function () {
it("should handle a PASS command -> PASS some_passwd", function (done) {
const server = IRCServer.create()
let mockedSock = new EventEmitter()
mockedSock.destroy = function () {
done("Destroyed socket without answering")
}
server.emit("connection", mockedSock)
mockedSock.emit('data', Buffer.from("PASS some_pass\r\n", "ascii"))
mockedSock.emit('data', Buffer.from("NICK some_nick\r\n", "ascii"))
user = server.getUserlist()["some_nick"]
assert.equal("some_pass", user["password"])
done()
})
})
Loading…
Cancel
Save