|
514 | 514 | allow(d).to receive(:replica_set_name).and_return('test') |
515 | 515 | allow(d).to receive(:is_server?).and_return(true) |
516 | 516 | allow(d).to receive(:ghost?).and_return(false) |
| 517 | + allow(d).to receive(:address).and_return(address) |
| 518 | + allow(d).to receive(:me_mismatch?).and_return(false) |
| 519 | + allow(d).to receive(:unknown?).and_return(false) |
517 | 520 | end |
518 | 521 | end |
519 | 522 |
|
|
533 | 536 | allow(d).to receive(:replica_set_name).and_return('testing') |
534 | 537 | allow(d).to receive(:lists_server?).and_return(true) |
535 | 538 | allow(d).to receive(:servers).and_return([double('server')]) |
| 539 | + allow(d).to receive(:address).and_return(address) |
| 540 | + allow(d).to receive(:me_mismatch?).and_return(false) |
| 541 | + allow(d).to receive(:unknown?).and_return(false) |
| 542 | + allow(d).to receive(:server_type).and_return(:secondary) |
536 | 543 | end |
537 | 544 | end |
538 | 545 |
|
|
543 | 550 |
|
544 | 551 | context 'when the description does not include the server in question' do |
545 | 552 |
|
546 | | - let(:description) do |
547 | | - double('description').tap do |d| |
548 | | - allow(d).to receive(:config).and_return({ 'setName' => 'testing' }) |
549 | | - allow(d).to receive(:replica_set_member?).and_return(true) |
550 | | - allow(d).to receive(:replica_set_name).and_return('testing') |
551 | | - allow(d).to receive(:is_server?).and_return(false) |
552 | | - allow(d).to receive(:lists_server?).and_return(false) |
553 | | - allow(d).to receive(:servers).and_return([double('server')]) |
| 553 | + context 'when the description is primary' do |
| 554 | + let(:description) do |
| 555 | + double('description').tap do |d| |
| 556 | + allow(d).to receive(:config).and_return({ 'setName' => 'testing' }) |
| 557 | + allow(d).to receive(:replica_set_member?).and_return(true) |
| 558 | + allow(d).to receive(:replica_set_name).and_return('testing') |
| 559 | + allow(d).to receive(:is_server?).and_return(false) |
| 560 | + allow(d).to receive(:lists_server?).and_return(false) |
| 561 | + allow(d).to receive(:servers).and_return([double('server')]) |
| 562 | + allow(d).to receive(:address).and_return("127.0.0.1:27018") |
| 563 | + allow(d).to receive(:me_mismatch?).and_return(false) |
| 564 | + allow(d).to receive(:unknown?).and_return(false) |
| 565 | + allow(d).to receive(:server_type).and_return(:primary) |
| 566 | + end |
| 567 | + end |
| 568 | + |
| 569 | + it 'returns true' do |
| 570 | + expect(topology.remove_server?(description, secondary)).to eq(true) |
554 | 571 | end |
555 | 572 | end |
556 | 573 |
|
557 | | - it 'returns true' do |
558 | | - expect(topology.remove_server?(description, secondary)).to eq(true) |
| 574 | + context 'when the description is not' do |
| 575 | + let(:description) do |
| 576 | + double('description').tap do |d| |
| 577 | + allow(d).to receive(:config).and_return({ 'setName' => 'testing' }) |
| 578 | + allow(d).to receive(:replica_set_member?).and_return(true) |
| 579 | + allow(d).to receive(:replica_set_name).and_return('testing') |
| 580 | + allow(d).to receive(:is_server?).and_return(false) |
| 581 | + allow(d).to receive(:lists_server?).and_return(false) |
| 582 | + allow(d).to receive(:servers).and_return([double('server')]) |
| 583 | + allow(d).to receive(:address).and_return('127.0.0.1:27018') |
| 584 | + allow(d).to receive(:me_mismatch?).and_return(false) |
| 585 | + allow(d).to receive(:unknown?).and_return(false) |
| 586 | + allow(d).to receive(:server_type).and_return(:secondary) |
| 587 | + end |
| 588 | + end |
| 589 | + |
| 590 | + it 'returns false' do |
| 591 | + expect(topology.remove_server?(description, secondary)).to eq(false) |
| 592 | + end |
559 | 593 | end |
560 | 594 | end |
561 | 595 | end |
|
568 | 602 | allow(d).to receive(:replica_set_member?).and_return(true) |
569 | 603 | allow(d).to receive(:replica_set_name).and_return('test') |
570 | 604 | allow(d).to receive(:is_server?).and_return(false) |
| 605 | + allow(d).to receive(:address).and_return('127.0.0.1:27018') |
| 606 | + allow(d).to receive(:unknown?).and_return(false) |
571 | 607 | end |
572 | 608 | end |
573 | 609 |
|
|
0 commit comments