def test_fields(self): cell = CellArea( radio=RADIO_TYPE['cdma'], lac=1234, mcc=100, mnc=5, lat=1.2345678, lon=2.3456789, range=10, avg_cell_range=10, num_cells=15, ) session = self.db_master_session session.add(cell) session.commit() result = session.query(cell.__class__).first() self.assertEqual(result.radio, RADIO_TYPE['cdma']) self.assertEqual(result.mcc, 100) self.assertEqual(result.mnc, 5) self.assertEqual(result.lac, 1234) self.assertEqual(result.lat, 1.2345678) self.assertEqual(result.lon, 2.3456789) self.assertEqual(result.range, 10) self.assertEqual(result.avg_cell_range, 10) self.assertEqual(result.num_cells, 15)
def test_areaid_null(self): result = (self.session.query(CellArea) .filter(CellArea.areaid.is_(None))).all() self.assertEqual(result, []) self.session.add(CellArea( areaid=None, radio=Radio.wcdma, mcc=GB_MCC, mnc=GB_MNC, lac=1234)) with self.assertRaises(Exception): self.session.flush()
def test_areaid_bytes(self): areaid = encode_cellarea(Radio.gsm, GB_MCC, GB_MNC, 1) self.session.add(CellArea( areaid=areaid, radio=Radio.wcdma, mcc=GB_MCC, mnc=GB_MNC, lac=1234)) self.session.flush() result = self.session.query(CellArea).first() self.assertEqual(result.areaid, (Radio.gsm, GB_MCC, GB_MNC, 1)) result = (self.session.query(CellArea) .filter(CellArea.areaid == areaid)).first() self.assertEqual(result.areaid, (Radio.gsm, GB_MCC, GB_MNC, 1))
def test_areaid_hex(self): value = '''\ cast(conv(substr(hex(`areaid`), 1, 2), 16, 10) as unsigned), cast(conv(substr(hex(`areaid`), 3, 4), 16, 10) as unsigned), cast(conv(substr(hex(`areaid`), 7, 4), 16, 10) as unsigned), cast(conv(substr(hex(`areaid`), 11, 4), 16, 10) as unsigned) ''' self.session.add(CellArea( areaid=(Radio.gsm, 310, 1, 65534), radio=Radio.gsm, mcc=310, mnc=1, lac=65534)) self.session.flush() stmt = 'select %s from cell_area' % value row = self.session.execute(stmt).fetchone() self.assertEqual(row, (0, 310, 1, 65534))
def test_areaid_null(self, session): result = (session.query(CellArea).filter( CellArea.areaid.is_(None))).all() assert result == [] with warnings.catch_warnings(): warnings.simplefilter("ignore", SAWarning) session.add( CellArea(areaid=None, radio=Radio.wcdma, mcc=GB_MCC, mnc=GB_MNC, lac=1234)) with pytest.raises(Exception): session.flush()
def test_areaid(self): areaid = (Radio.gsm, GB_MCC, GB_MNC, 1) self.session.add(CellArea( areaid=areaid, radio=Radio.wcdma, mcc=GB_MCC, mnc=GB_MNC, lac=1234)) self.session.flush() result = self.session.query(CellArea).first() self.assertEqual(result.areaid, (Radio.gsm, GB_MCC, GB_MNC, 1)) result = (self.session.query(CellArea) .filter(CellArea.areaid == areaid)).first() self.assertEqual(result.areaid, (Radio.gsm, GB_MCC, GB_MNC, 1)) query = self.session.query(CellArea).filter(CellArea.areaid == (1, 2)) self.assertRaises(Exception, query.first)
def test_areaid_hex(self, session): value = """\ cast(conv(substr(hex(`areaid`), 1, 2), 16, 10) as unsigned), cast(conv(substr(hex(`areaid`), 3, 4), 16, 10) as unsigned), cast(conv(substr(hex(`areaid`), 7, 4), 16, 10) as unsigned), cast(conv(substr(hex(`areaid`), 11, 4), 16, 10) as unsigned) """ session.add( CellArea( areaid=(Radio.gsm, 310, 1, 65534), radio=Radio.gsm, mcc=310, mnc=1, lac=65534, )) session.flush() stmt = "select %s from cell_area" % value row = session.execute(stmt).fetchone() assert row == (0, 310, 1, 65534)
def test_fields(self): session = self.session session.add( CellArea(radio=Radio.cdma, mcc=GB_MCC, mnc=GB_MNC, lac=1234, range=10, lat=GB_LAT, lon=GB_LON, avg_cell_range=10, num_cells=15)) session.flush() result = session.query(CellArea).first() self.assertEqual(result.radio, Radio.cdma) self.assertEqual(result.mcc, GB_MCC) self.assertEqual(result.mnc, GB_MNC) self.assertEqual(result.lac, 1234) self.assertEqual(result.lat, GB_LAT) self.assertEqual(result.lon, GB_LON) self.assertEqual(result.range, 10) self.assertEqual(result.avg_cell_range, 10) self.assertEqual(result.num_cells, 15)