mirror of https://github.com/grpc/grpc-node.git
Removed temp files
This commit is contained in:
parent
a9b57ed10f
commit
a279fbd49c
|
@ -1,35 +0,0 @@
|
|||
var assert = require('assert');
|
||||
var grpc = require('..build/Release/grpc');
|
||||
|
||||
describe('byte buffer', function() {
|
||||
describe('constructor', function() {
|
||||
it('should reject bad constructor calls', function() {
|
||||
it('should require at least one argument', function() {
|
||||
assert.throws(new grpc.ByteBuffer(), TypeError);
|
||||
});
|
||||
it('should reject non-string arguments', function() {
|
||||
assert.throws(new grpc.ByteBuffer(0), TypeError);
|
||||
assert.throws(new grpc.ByteBuffer(1.5), TypeError);
|
||||
assert.throws(new grpc.ByteBuffer(null), TypeError);
|
||||
assert.throws(new grpc.ByteBuffer(Date.now()), TypeError);
|
||||
});
|
||||
it('should accept string arguments', function() {
|
||||
assert.doesNotThrow(new grpc.ByteBuffer(''));
|
||||
assert.doesNotThrow(new grpc.ByteBuffer('test'));
|
||||
assert.doesNotThrow(new grpc.ByteBuffer('\0'));
|
||||
});
|
||||
});
|
||||
});
|
||||
describe('bytes', function() {
|
||||
it('should return the passed string', function() {
|
||||
it('should preserve simple strings', function() {
|
||||
var buffer = new grpc.ByteBuffer('test');
|
||||
assert.strictEqual(buffer.bytes(), 'test');
|
||||
});
|
||||
it('should preserve null characters', function() {
|
||||
var buffer = new grpc.ByteBuffer('test\0test');
|
||||
assert.strictEqual(buffer.bytes(), 'test\0test');
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
|
@ -1,6 +0,0 @@
|
|||
var assert = require('assert');
|
||||
var grpc = require('../build/Release/grpc');
|
||||
|
||||
describe('call', function() {
|
||||
describe('constructor', function() {
|
||||
it('should reject anything less than 4 arguments', function() {
|
|
@ -1,59 +0,0 @@
|
|||
var assert = require('assert');
|
||||
var grpc = require('../build/Debug/grpc');
|
||||
var Server = require('../server');
|
||||
var client = require('../client');
|
||||
var port_picker = require('../port_picker');
|
||||
var iterators = require('async-iterators');
|
||||
|
||||
/**
|
||||
* General function to process an event by checking that there was no error and
|
||||
* calling the callback passed as a tag.
|
||||
* @param {*} err Truthy values indicate an error (in this case, that there was
|
||||
* no event available).
|
||||
* @param {grpc.Event} event The event to process.
|
||||
*/
|
||||
function processEvent(err, event) {
|
||||
assert.ifError(err);
|
||||
assert.notEqual(event, null);
|
||||
event.getTag()(event);
|
||||
}
|
||||
|
||||
/**
|
||||
* Responds to every request with the same data as a response
|
||||
* @param {{next:function(function(*, Buffer))}} arg_iter The async iterator of
|
||||
* arguments.
|
||||
* @return {{next:function(function(*, Buffer))}} The async iterator of results
|
||||
*/
|
||||
function echoHandler(arg_iter) {
|
||||
return {
|
||||
'next' : function(write) {
|
||||
arg_iter.next(function(err, value) {
|
||||
if (value == undefined) {
|
||||
write({
|
||||
'code' : grpc.status.OK,
|
||||
'details' : 'OK'
|
||||
});
|
||||
} else {
|
||||
write(err, value);
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
describe('echo client server', function() {
|
||||
it('should recieve echo responses', function(done) {
|
||||
port_picker.nextAvailablePort(function(port) {
|
||||
var server = new Server(port);
|
||||
server.register('echo', echoHandler);
|
||||
server.start();
|
||||
|
||||
var messages = ['echo1', 'echo2', 'echo3'];
|
||||
var channel = new grpc.Channel(port);
|
||||
var responses = client.makeRequest(channel,
|
||||
'echo',
|
||||
iterators.fromArray(messages));
|
||||
assert.equal(messages, iterators.toArray(responses));
|
||||
});
|
||||
});
|
||||
});
|
|
@ -1,30 +0,0 @@
|
|||
var assert = require('assert');
|
||||
var grpc = require('../build/Release/grpc');
|
||||
|
||||
describe('completion queue', function() {
|
||||
describe('constructor', function() {
|
||||
it('should succeed with now arguments', function() {
|
||||
assert.doesNotThrow(function() {
|
||||
new grpc.CompletionQueue();
|
||||
});
|
||||
});
|
||||
});
|
||||
describe('next', function() {
|
||||
it('should require a date parameter', function() {
|
||||
var queue = new grpc.CompletionQueue();
|
||||
assert.throws(function() {
|
||||
queue->next();
|
||||
}, TypeError);
|
||||
assert.throws(function() {
|
||||
queue->next('test');
|
||||
}, TypeError);
|
||||
assert.doesNotThrow(function() {
|
||||
queue->next(Date.now());
|
||||
});
|
||||
});
|
||||
it('should return null from a new queue', function() {
|
||||
var queue = new grpc.CompletionQueue();
|
||||
assert.strictEqual(queue->next(Date.now()), null);
|
||||
});
|
||||
});
|
||||
});
|
|
@ -1,25 +0,0 @@
|
|||
var assert = require("assert");
|
||||
var grpc = require("../build/Release");
|
||||
|
||||
var status_names = [
|
||||
"OK",
|
||||
"CANCELLED",
|
||||
"UNKNOWN",
|
||||
"INVALID_ARGUMENT",
|
||||
"DEADLINE_EXCEEDED",
|
||||
"NOT_FOUND",
|
||||
"ALREADY_EXISTS",
|
||||
"PERMISSION_DENIED",
|
||||
"UNAUTHENTICATED",
|
||||
"RESOURCE_EXHAUSTED",
|
||||
"FAILED_PRECONDITION",
|
||||
"ABORTED",
|
||||
"OUT_OF_RANGE",
|
||||
"UNIMPLEMENTED",
|
||||
"INTERNAL",
|
||||
"UNAVAILABLE",
|
||||
"DATA_LOSS"
|
||||
];
|
||||
|
||||
describe("constants", function() {
|
||||
it("should have all of the status constants", function() {
|
|
@ -1,72 +0,0 @@
|
|||
var assert = require('assert');
|
||||
var grpc = require('../build/Release/grpc');
|
||||
|
||||
describe('end-to-end', function() {
|
||||
it('should start and end a request without error', function() {
|
||||
var event;
|
||||
var client_queue = new grpc.CompletionQueue();
|
||||
var server_queue = new grpc.CompletionQueue();
|
||||
var server = new grpc.Server(server_queue);
|
||||
server.addHttp2Port('localhost:9000');
|
||||
var channel = new grpc.Channel('localhost:9000');
|
||||
var deadline = Infinity;
|
||||
var status_text = 'xyz';
|
||||
var call = new grpc.Call(channel, 'dummy_method', deadline);
|
||||
var tag = 1;
|
||||
assert.strictEqual(call.startInvoke(client_queue, tag, tag, tag),
|
||||
grpc.callError.OK);
|
||||
var server_tag = 2;
|
||||
|
||||
// the client invocation was accepted
|
||||
event = client_queue.next(deadline);
|
||||
assert.notEqual(event, null);
|
||||
assert.strictEqual(event->getType(), grpc.completionType.INVOKE_ACCEPTED);
|
||||
|
||||
assert.strictEqual(call.writesDone(tag), grpc.callError.CALL_OK);
|
||||
event = client_queue.next(deadline);
|
||||
assert.notEqual(event, null);
|
||||
assert.strictEqual(event.getType(), grpc.completionType.FINISH_ACCEPTED);
|
||||
assert.strictEqual(event.getData(), grpc.opError.OK);
|
||||
|
||||
// check that a server rpc new was recieved
|
||||
assert(server.start());
|
||||
assert.strictEqual(server.requestCall(server_tag, server_tag),
|
||||
grpc.callError.OK);
|
||||
event = server_queue.next(deadline);
|
||||
assert.notEqual(event, null);
|
||||
assert.strictEqual(event.getType(), grpc.completionType.SERVER_RPC_NEW);
|
||||
var server_call = event.getCall();
|
||||
assert.notEqual(server_call, null);
|
||||
assert.strictEqual(server_call.accept(server_queue, server_tag),
|
||||
grpc.callError.OK);
|
||||
|
||||
// the server sends the status
|
||||
assert.strictEqual(server_call.start_write_status(grpc.status.OK,
|
||||
status_text,
|
||||
server_tag),
|
||||
grpc.callError.OK);
|
||||
event = server_queue.next(deadline);
|
||||
assert.notEqual(event, null);
|
||||
assert.strictEqual(event.getType(), grpc.completionType.FINISH_ACCEPTED);
|
||||
assert.strictEqual(event.getData(), grpc.opError.OK);
|
||||
|
||||
// the client gets CLIENT_METADATA_READ
|
||||
event = client_queue.next(deadline);
|
||||
assert.notEqual(event, null);
|
||||
assert.strictEqual(event.getType(),
|
||||
grpc.completionType.CLIENT_METADATA_READ);
|
||||
|
||||
// the client gets FINISHED
|
||||
event = client_queue.next(deadline);
|
||||
assert.notEqual(event, null);
|
||||
assert.strictEqual(event.getType(), grpc.completionType.FINISHED);
|
||||
var status = event.getData();
|
||||
assert.strictEqual(status.code, grpc.status.OK);
|
||||
assert.strictEqual(status.details, status_text);
|
||||
|
||||
// the server gets FINISHED
|
||||
event = client_queue.next(deadline);
|
||||
assert.notEqual(event, null);
|
||||
assert.strictEqual(event.getType(), grpc.completionType.FINISHED);
|
||||
});
|
||||
});
|
|
@ -1,87 +0,0 @@
|
|||
var client = require('../surface_client.js');
|
||||
|
||||
var builder = ProtoBuf.loadProtoFile(__dirname + '/../examples/math.proto');
|
||||
var math = builder.build('math');
|
||||
|
||||
/**
|
||||
* Get a function that deserializes a specific type of protobuf.
|
||||
* @param {function()} cls The constructor of the message type to deserialize
|
||||
* @return {function(Buffer):cls} The deserialization function
|
||||
*/
|
||||
function deserializeCls(cls) {
|
||||
/**
|
||||
* Deserialize a buffer to a message object
|
||||
* @param {Buffer} arg_buf The buffer to deserialize
|
||||
* @return {cls} The resulting object
|
||||
*/
|
||||
return function deserialize(arg_buf) {
|
||||
return cls.decode(arg_buf);
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Serialize an object to a buffer
|
||||
* @param {*} arg The object to serialize
|
||||
* @return {Buffer} The serialized object
|
||||
*/
|
||||
function serialize(arg) {
|
||||
return new Buffer(arg.encode.toBuffer());
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends a Div request on the channel.
|
||||
* @param {client.Channel} channel The channel on which to make the request
|
||||
* @param {*} argument The argument to the call. Should be serializable with
|
||||
* serialize
|
||||
* @param {function(?Error, value=)} The callback to for when the response is
|
||||
* received
|
||||
* @param {array=} Array of metadata key/value pairs to add to the call
|
||||
* @param {(number|Date)=} deadline The deadline for processing this request.
|
||||
* Defaults to infinite future
|
||||
* @return {EventEmitter} An event emitter for stream related events
|
||||
*/
|
||||
var div = client.makeUnaryRequestFunction('/Math/Div',
|
||||
serialize,
|
||||
deserialize(math.DivReply));
|
||||
|
||||
/**
|
||||
* Sends a Fib request on the channel.
|
||||
* @param {client.Channel} channel The channel on which to make the request
|
||||
* @param {*} argument The argument to the call. Should be serializable with
|
||||
* serialize
|
||||
* @param {array=} Array of metadata key/value pairs to add to the call
|
||||
* @param {(number|Date)=} deadline The deadline for processing this request.
|
||||
* Defaults to infinite future
|
||||
* @return {EventEmitter} An event emitter for stream related events
|
||||
*/
|
||||
var fib = client.makeServerStreamRequestFunction('/Math/Fib',
|
||||
serialize,
|
||||
deserialize(math.Num));
|
||||
|
||||
/**
|
||||
* Sends a Sum request on the channel.
|
||||
* @param {client.Channel} channel The channel on which to make the request
|
||||
* @param {function(?Error, value=)} The callback to for when the response is
|
||||
* received
|
||||
* @param {array=} Array of metadata key/value pairs to add to the call
|
||||
* @param {(number|Date)=} deadline The deadline for processing this request.
|
||||
* Defaults to infinite future
|
||||
* @return {EventEmitter} An event emitter for stream related events
|
||||
*/
|
||||
var sum = client.makeClientStreamRequestFunction('/Math/Sum',
|
||||
serialize,
|
||||
deserialize(math.Num));
|
||||
|
||||
/**
|
||||
* Sends a DivMany request on the channel.
|
||||
* @param {client.Channel} channel The channel on which to make the request
|
||||
* @param {array=} Array of metadata key/value pairs to add to the call
|
||||
* @param {(number|Date)=} deadline The deadline for processing this request.
|
||||
* Defaults to infinite future
|
||||
* @return {EventEmitter} An event emitter for stream related events
|
||||
*/
|
||||
var divMany = client.makeBidiStreamRequestFunction('/Math/DivMany',
|
||||
serialize,
|
||||
deserialize(math.DivReply));
|
||||
|
||||
var channel = new client.Channel('localhost:7070');
|
|
@ -1,22 +0,0 @@
|
|||
var assert = require('assert');
|
||||
var grpc = require('./build/Debug/grpc');
|
||||
var Server = require('server');
|
||||
|
||||
function echoHandler(arg_iter) {
|
||||
return {
|
||||
'next' : function(write) {
|
||||
arg_iter.next(function(err, value) {
|
||||
write(err, value);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
describe('echo server', function() {
|
||||
it('should echo inputs as responses', function(done) {
|
||||
var server = new Server('localhost:5000');
|
||||
server.register('echo', echoHandler);
|
||||
server.start();
|
||||
|
||||
});
|
||||
});
|
Loading…
Reference in New Issue