def getInitiatingCell(self): '''Return the initiating cell for this connection handshake. :returns: **oppy.cell.varlen.VersionsCell** ''' self._state = V3State.EXPECT_VERSIONS return VersionsCell.make([3])
def test_processVersionsCell_unsupported_handshake(self, csh): self.cbt.transport = mock.Mock() self.cbt.transport.getPeerCertificate = mock.Mock() self.cbt.transport.getPeerCertificate.return_value = 'test' csh.return_value = False cell = VersionsCell.make([3]) self.assertRaises(ValueError, self.cbt._processVersionsCell, cell)
def test_processVersionsCell(self, csh): csh.return_value = True cell = VersionsCell.make([3]) self.cbt.transport = mock.Mock() self.cbt.transport.getPeerCertificate = mock.Mock() self.cbt.transport.getPeerCertificate.return_value = 'test' self.cbt._recvCell = mock.Mock() self.cbt._recvCell.return_value = 't' self.assertEqual(self.cbt._processVersionsCell(cell), 't') self.assertEqual(self.cbt._connection_cert, 'test') self.assertEqual(self.cbt._link_protocol, 3) self.assertEqual(self.cbt._recvCell.call_count, 1)
def test_len(self): from oppy.cell.cell import Cell cell = Cell.parse(versions_bytes_good) cell_2 = VersionsCell.make(versions=[3]) assert len(cell) == len(cell_2) assert len(cell) == VERSIONS_CELL_LEN + 2 + 1 + 2
def test_make(self): cell = VersionsCell.make(versions=[3]) assert isinstance(cell, VersionsCell) assert cell.getBytes() == versions_bytes_good assert cell.header.__dict__ == self.cell_header
def _sendVersionsCell(self): cell = VersionsCell.make(SUPPORTED_LINK_PROTOCOLS) self.transport.write(cell.getBytes()) return self._recvCell()