@@ -23,16 +23,16 @@ var rosetteException = require("../lib/rosetteExceptions");
2323
2424describe ( "Language Endpoint" , function ( ) {
2525 beforeEach ( function ( done ) {
26- var mockResponse = JSON . stringify ( { 'name' :'Rosette API' , 'versionChecked' :true } ) ;
26+ var mockResponse = JSON . stringify ( { 'name' : 'Rosette API' , 'versionChecked' : true } ) ;
2727
2828 nock ( 'https://api.rosette.com' , { "encodedQueryParams" : true } )
2929 . post ( '/rest/v1/info' )
30- . query ( { "clientVersion" :"1.1" } )
30+ . query ( { "clientVersion" : "1.1" } )
3131 . reply ( 200 , JSON . parse ( mockResponse ) ) ;
3232
3333 nock ( 'https://api.rosette.com' , { "encodedQueryParams" : true } )
3434 . post ( '/rest/v1/language' )
35- . query ( { "clientVersion" :"1.1" } )
35+ . query ( { "clientVersion" : "1.1" } )
3636 . reply ( 200 , JSON . parse ( mockResponse ) ) ;
3737 done ( ) ;
3838 } ) ;
@@ -82,16 +82,16 @@ describe("Language Endpoint", function() {
8282
8383describe ( "Relationships Endpoint" , function ( ) {
8484 beforeEach ( function ( done ) {
85- var mockResponse = JSON . stringify ( { 'name' :'Rosette API' , 'versionChecked' :true } ) ;
85+ var mockResponse = JSON . stringify ( { 'name' : 'Rosette API' , 'versionChecked' : true } ) ;
8686
8787 nock ( 'https://api.rosette.com' , { "encodedQueryParams" : true } )
8888 . post ( '/rest/v1/info' )
89- . query ( { "clientVersion" :"1.1" } )
89+ . query ( { "clientVersion" : "1.1" } )
9090 . reply ( 200 , JSON . parse ( mockResponse ) ) ;
9191
9292 nock ( 'https://api.rosette.com' , { "encodedQueryParams" : true } )
9393 . post ( '/rest/v1/relationships' )
94- . query ( { "clientVersion" :"1.1" } )
94+ . query ( { "clientVersion" : "1.1" } )
9595 . reply ( 200 , JSON . parse ( mockResponse ) ) ;
9696 done ( ) ;
9797 } ) ;
@@ -130,16 +130,16 @@ describe("Relationships Endpoint", function() {
130130
131131describe ( "Name Similarity Endpoint" , function ( ) {
132132 beforeEach ( function ( done ) {
133- var mockResponse = JSON . stringify ( { 'name' :'Rosette API' , 'versionChecked' :true } ) ;
133+ var mockResponse = JSON . stringify ( { 'name' : 'Rosette API' , 'versionChecked' : true } ) ;
134134
135135 nock ( 'https://api.rosette.com' , { "encodedQueryParams" : true } )
136136 . post ( '/rest/v1/info' )
137- . query ( { "clientVersion" :"1.1" } )
137+ . query ( { "clientVersion" : "1.1" } )
138138 . reply ( 200 , JSON . parse ( mockResponse ) ) ;
139139
140140 nock ( 'https://api.rosette.com' , { "encodedQueryParams" : true } )
141141 . post ( '/rest/v1/name-similarity' )
142- . query ( { "clientVersion" :"1.1" } )
142+ . query ( { "clientVersion" : "1.1" } )
143143 . reply ( 200 , JSON . parse ( mockResponse ) ) ;
144144 done ( ) ;
145145 } ) ;
@@ -183,16 +183,16 @@ describe("Name Similarity Endpoint", function() {
183183
184184describe ( "Name Translation Endpoint" , function ( ) {
185185 beforeEach ( function ( done ) {
186- var mockResponse = JSON . stringify ( { 'name' :'Rosette API' , 'versionChecked' :true } ) ;
186+ var mockResponse = JSON . stringify ( { 'name' : 'Rosette API' , 'versionChecked' : true } ) ;
187187
188188 nock ( 'https://api.rosette.com' , { "encodedQueryParams" : true } )
189189 . post ( '/rest/v1/info' )
190- . query ( { "clientVersion" :"1.1" } )
190+ . query ( { "clientVersion" : "1.1" } )
191191 . reply ( 200 , JSON . parse ( mockResponse ) ) ;
192192
193193 nock ( 'https://api.rosette.com' , { "encodedQueryParams" : true } )
194194 . post ( '/rest/v1/name-translation' )
195- . query ( { "clientVersion" :"1.1" } )
195+ . query ( { "clientVersion" : "1.1" } )
196196 . reply ( 200 , JSON . parse ( mockResponse ) ) ;
197197 done ( ) ;
198198 } ) ;
@@ -246,16 +246,16 @@ describe("Name Translation Endpoint", function() {
246246
247247describe ( "Sentiment Endpoint" , function ( ) {
248248 beforeEach ( function ( done ) {
249- var mockResponse = JSON . stringify ( { 'name' :'Rosette API' , 'versionChecked' :true } ) ;
249+ var mockResponse = JSON . stringify ( { 'name' : 'Rosette API' , 'versionChecked' : true } ) ;
250250
251251 nock ( 'https://api.rosette.com' , { "encodedQueryParams" : true } )
252252 . post ( '/rest/v1/info' )
253- . query ( { "clientVersion" :"1.1" } )
253+ . query ( { "clientVersion" : "1.1" } )
254254 . reply ( 200 , JSON . parse ( mockResponse ) ) ;
255255
256256 nock ( 'https://api.rosette.com' , { "encodedQueryParams" : true } )
257257 . post ( '/rest/v1/sentiment' )
258- . query ( { "clientVersion" :"1.1" } )
258+ . query ( { "clientVersion" : "1.1" } )
259259 . reply ( 200 , JSON . parse ( mockResponse ) ) ;
260260 done ( ) ;
261261 } ) ;
@@ -305,16 +305,16 @@ describe("Sentiment Endpoint", function() {
305305
306306describe ( "Categories Endpoint" , function ( ) {
307307 beforeEach ( function ( done ) {
308- var mockResponse = JSON . stringify ( { 'name' :'Rosette API' , 'versionChecked' :true } ) ;
308+ var mockResponse = JSON . stringify ( { 'name' : 'Rosette API' , 'versionChecked' : true } ) ;
309309
310310 nock ( 'https://api.rosette.com' , { "encodedQueryParams" : true } )
311311 . post ( '/rest/v1/info' )
312- . query ( { "clientVersion" :"1.1" } )
312+ . query ( { "clientVersion" : "1.1" } )
313313 . reply ( 200 , JSON . parse ( mockResponse ) ) ;
314314
315315 nock ( 'https://api.rosette.com' , { "encodedQueryParams" : true } )
316316 . post ( '/rest/v1/categories' )
317- . query ( { "clientVersion" :"1.1" } )
317+ . query ( { "clientVersion" : "1.1" } )
318318 . reply ( 200 , JSON . parse ( mockResponse ) ) ;
319319 done ( ) ;
320320 } ) ;
@@ -364,16 +364,16 @@ describe("Categories Endpoint", function() {
364364
365365describe ( "Entities Endpoint" , function ( ) {
366366 beforeEach ( function ( done ) {
367- var mockResponse = JSON . stringify ( { 'name' :'Rosette API' , 'versionChecked' :true } ) ;
367+ var mockResponse = JSON . stringify ( { 'name' : 'Rosette API' , 'versionChecked' : true } ) ;
368368
369369 nock ( 'https://api.rosette.com' , { "encodedQueryParams" : true } )
370370 . post ( '/rest/v1/info' )
371- . query ( { "clientVersion" :"1.1" } )
371+ . query ( { "clientVersion" : "1.1" } )
372372 . reply ( 200 , JSON . parse ( mockResponse ) ) ;
373373
374374 nock ( 'https://api.rosette.com' , { "encodedQueryParams" : true } )
375375 . post ( '/rest/v1/entities' )
376- . query ( { "clientVersion" :"1.1" } )
376+ . query ( { "clientVersion" : "1.1" } )
377377 . reply ( 200 , JSON . parse ( mockResponse ) ) ;
378378 done ( ) ;
379379 } ) ;
@@ -423,16 +423,16 @@ describe("Entities Endpoint", function() {
423423
424424describe ( "Morphology Endpoint (suite covers all features)" , function ( ) {
425425 beforeEach ( function ( done ) {
426- var mockResponse = JSON . stringify ( { 'name' :'Rosette API' , 'versionChecked' :true } ) ;
426+ var mockResponse = JSON . stringify ( { 'name' : 'Rosette API' , 'versionChecked' : true } ) ;
427427
428428 nock ( 'https://api.rosette.com' , { "encodedQueryParams" : true } )
429429 . post ( '/rest/v1/info' )
430- . query ( { "clientVersion" :"1.1" } )
430+ . query ( { "clientVersion" : "1.1" } )
431431 . reply ( 200 , JSON . parse ( mockResponse ) ) ;
432432
433433 nock ( 'https://api.rosette.com' , { "encodedQueryParams" : true } )
434434 . post ( '/rest/v1/morphology/complete' )
435- . query ( { "clientVersion" :"1.1" } )
435+ . query ( { "clientVersion" : "1.1" } )
436436 . reply ( 200 , JSON . parse ( mockResponse ) ) ;
437437 done ( ) ;
438438 } ) ;
@@ -499,16 +499,16 @@ describe("Morphology Endpoint (suite covers all features)", function() {
499499
500500describe ( "Tokens Endpoint" , function ( ) {
501501 beforeEach ( function ( done ) {
502- var mockResponse = JSON . stringify ( { 'name' :'Rosette API' , 'versionChecked' :true } ) ;
502+ var mockResponse = JSON . stringify ( { 'name' : 'Rosette API' , 'versionChecked' : true } ) ;
503503
504504 nock ( 'https://api.rosette.com' , { "encodedQueryParams" : true } )
505505 . post ( '/rest/v1/info' )
506- . query ( { "clientVersion" :"1.1" } )
506+ . query ( { "clientVersion" : "1.1" } )
507507 . reply ( 200 , JSON . parse ( mockResponse ) ) ;
508508
509509 nock ( 'https://api.rosette.com' , { "encodedQueryParams" : true } )
510510 . post ( '/rest/v1/tokens' )
511- . query ( { "clientVersion" :"1.1" } )
511+ . query ( { "clientVersion" : "1.1" } )
512512 . reply ( 200 , JSON . parse ( mockResponse ) ) ;
513513 done ( ) ;
514514 } ) ;
@@ -558,16 +558,16 @@ describe("Tokens Endpoint", function() {
558558
559559describe ( "Sentences Endpoint" , function ( ) {
560560 beforeEach ( function ( done ) {
561- var mockResponse = JSON . stringify ( { 'name' :'Rosette API' , 'versionChecked' :true } ) ;
561+ var mockResponse = JSON . stringify ( { 'name' : 'Rosette API' , 'versionChecked' : true } ) ;
562562
563563 nock ( 'https://api.rosette.com' , { "encodedQueryParams" : true } )
564564 . post ( '/rest/v1/info' )
565- . query ( { "clientVersion" :"1.1" } )
565+ . query ( { "clientVersion" : "1.1" } )
566566 . reply ( 200 , JSON . parse ( mockResponse ) ) ;
567567
568568 nock ( 'https://api.rosette.com' , { "encodedQueryParams" : true } )
569569 . post ( '/rest/v1/sentences' )
570- . query ( { "clientVersion" :"1.1" } )
570+ . query ( { "clientVersion" : "1.1" } )
571571 . reply ( 200 , JSON . parse ( mockResponse ) ) ;
572572 done ( ) ;
573573 } ) ;
@@ -617,11 +617,11 @@ describe("Sentences Endpoint", function() {
617617
618618describe ( "Info Endpoint" , function ( ) {
619619 beforeEach ( function ( done ) {
620- var mockResponse = JSON . stringify ( { 'name' :'Rosette API' , 'versionChecked' :true } ) ;
620+ var mockResponse = JSON . stringify ( { 'name' : 'Rosette API' , 'versionChecked' : true } ) ;
621621
622622 nock ( 'https://api.rosette.com' , { "encodedQueryParams" : true } )
623623 . post ( '/rest/v1/info' )
624- . query ( { "clientVersion" :"1.1" } )
624+ . query ( { "clientVersion" : "1.1" } )
625625 . reply ( 200 , JSON . parse ( mockResponse ) ) ;
626626
627627 nock ( 'https://api.rosette.com' )
@@ -650,11 +650,11 @@ describe("Info Endpoint", function() {
650650
651651describe ( "Ping Endpoint" , function ( ) {
652652 beforeEach ( function ( done ) {
653- var mockResponse = JSON . stringify ( { 'name' :'Rosette API' , 'versionChecked' :true } ) ;
653+ var mockResponse = JSON . stringify ( { 'name' : 'Rosette API' , 'versionChecked' : true } ) ;
654654
655655 nock ( 'https://api.rosette.com' , { "encodedQueryParams" : true } )
656656 . post ( '/rest/v1/info' )
657- . query ( { "clientVersion" :"1.1" } )
657+ . query ( { "clientVersion" : "1.1" } )
658658 . reply ( 200 , JSON . parse ( mockResponse ) ) ;
659659
660660 nock ( 'https://api.rosette.com' )
@@ -678,5 +678,37 @@ describe("Ping Endpoint", function() {
678678 } ) ;
679679
680680 } ) ;
681+ } ) ;
682+
683+ describe ( "Error 409 Incompatible Binding Check" , function ( ) {
684+ beforeEach ( function ( done ) {
685+ var mockResponse = JSON . stringify ( { 'code' : 'incompatibleBindingVersion' , 'message' : 'some message' } ) ;
686+
687+ nock ( 'https://api.rosette.com' , { "encodedQueryParams" : true } )
688+ . post ( '/rest/v1/info' )
689+ . query ( { "clientVersion" : "1.1" } )
690+ . reply ( 409 , JSON . parse ( mockResponse ) ) ;
691+
692+ nock ( 'https://api.rosette.com' )
693+ . get ( '/rest/v1/info' )
694+ . reply ( 409 , JSON . parse ( mockResponse ) ) ;
695+ done ( ) ;
696+ } ) ;
697+
698+ afterEach ( function ( done ) {
699+ nock . cleanAll ( ) ;
700+ done ( ) ;
701+ } ) ;
702+
703+ it ( "successfully handles the error" , function ( done ) {
704+ var api = new Api ( '123456789' , 'https://api.rosette.com/rest/v1' ) ;
705+ api . rosette ( "info" , function ( err , res ) {
706+ chai . expect ( err ) . to . not . be . null ;
707+ chai . expect ( err . name ) . to . equal ( 'RosetteException' ) ;
708+ chai . expect ( err . message ) . to . contain ( 'incompatibleBindingVersion' ) ;
709+ done ( ) ;
710+ } ) ;
711+ } ) ;
681712
682713} ) ;
714+
0 commit comments