mirror of
https://github.com/jokob-sk/NetAlertX.git
synced 2026-04-06 02:01:37 -07:00
feat: authoritative plugin fields
Signed-off-by: jokob-sk <jokob.sk@gmail.com>
This commit is contained in:
@@ -280,6 +280,7 @@ function getDeviceData() {
|
|||||||
const fieldName = setting.setKey.replace('NEWDEV_', '');
|
const fieldName = setting.setKey.replace('NEWDEV_', '');
|
||||||
if (trackedFields[fieldName] && fieldName !== "devFQDN" && mac != "new") {
|
if (trackedFields[fieldName] && fieldName !== "devFQDN" && mac != "new") {
|
||||||
const sourceField = fieldName + "Source";
|
const sourceField = fieldName + "Source";
|
||||||
|
|
||||||
const currentSource = deviceData[sourceField] || "N/A";
|
const currentSource = deviceData[sourceField] || "N/A";
|
||||||
const isLocked = currentSource === "LOCKED";
|
const isLocked = currentSource === "LOCKED";
|
||||||
const lockIcon = isLocked ? "fa-lock" : "fa-lock-open";
|
const lockIcon = isLocked ? "fa-lock" : "fa-lock-open";
|
||||||
@@ -302,12 +303,16 @@ function getDeviceData() {
|
|||||||
const fieldName2 = setting.setKey.replace('NEWDEV_', '');
|
const fieldName2 = setting.setKey.replace('NEWDEV_', '');
|
||||||
if (trackedFields[fieldName2] && mac != "new") {
|
if (trackedFields[fieldName2] && mac != "new") {
|
||||||
const sourceField = fieldName2 + "Source";
|
const sourceField = fieldName2 + "Source";
|
||||||
const currentSource = deviceData[sourceField] || "N/A";
|
// only show if data available
|
||||||
const sourceTitle = getString("FieldLock_Source_Label") + currentSource;
|
if (deviceData[sourceField] != "")
|
||||||
const sourceColor = currentSource === "USER" ? "text-warning" : (currentSource === "LOCKED" ? "text-danger" : "text-muted");
|
{
|
||||||
inlineControl += `<span class="input-group-addon pointer ${sourceColor}" title="${sourceTitle}">
|
const currentSource = deviceData[sourceField] || "N/A";
|
||||||
${currentSource}
|
const sourceTitle = getString("FieldLock_Source_Label") + currentSource;
|
||||||
</span>`;
|
const sourceColor = currentSource === "USER" ? "text-warning" : (currentSource === "LOCKED" ? "text-danger" : "text-muted");
|
||||||
|
inlineControl += `<span class="input-group-addon pointer ${sourceColor}" title="${sourceTitle}">
|
||||||
|
${currentSource}
|
||||||
|
</span>`;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// handle devChildrenDynamic or NEWDEV_devChildrenNicsDynamic - selected values and options are the same
|
// handle devChildrenDynamic or NEWDEV_devChildrenNicsDynamic - selected values and options are the same
|
||||||
|
|||||||
@@ -92,11 +92,11 @@ class Device(ObjectType):
|
|||||||
devReqNicsOnline = Int(description="Required NICs online flag")
|
devReqNicsOnline = Int(description="Required NICs online flag")
|
||||||
devMacSource = String(description="Source tracking for devMac (USER, LOCKED, NEWDEV, or plugin prefix)")
|
devMacSource = String(description="Source tracking for devMac (USER, LOCKED, NEWDEV, or plugin prefix)")
|
||||||
devNameSource = String(description="Source tracking for devName (USER, LOCKED, NEWDEV, or plugin prefix)")
|
devNameSource = String(description="Source tracking for devName (USER, LOCKED, NEWDEV, or plugin prefix)")
|
||||||
devFqdnSource = String(description="Source tracking for devFQDN (USER, LOCKED, NEWDEV, or plugin prefix)")
|
devFQDNSource = String(description="Source tracking for devFQDN (USER, LOCKED, NEWDEV, or plugin prefix)")
|
||||||
devLastIpSource = String(description="Source tracking for devLastIP (USER, LOCKED, NEWDEV, or plugin prefix)")
|
devLastIPSource = String(description="Source tracking for devLastIP (USER, LOCKED, NEWDEV, or plugin prefix)")
|
||||||
devVendorSource = String(description="Source tracking for devVendor (USER, LOCKED, NEWDEV, or plugin prefix)")
|
devVendorSource = String(description="Source tracking for devVendor (USER, LOCKED, NEWDEV, or plugin prefix)")
|
||||||
devSsidSource = String(description="Source tracking for devSSID (USER, LOCKED, NEWDEV, or plugin prefix)")
|
devSSIDSource = String(description="Source tracking for devSSID (USER, LOCKED, NEWDEV, or plugin prefix)")
|
||||||
devParentMacSource = String(description="Source tracking for devParentMAC (USER, LOCKED, NEWDEV, or plugin prefix)")
|
devParentMACSource = String(description="Source tracking for devParentMAC (USER, LOCKED, NEWDEV, or plugin prefix)")
|
||||||
devParentPortSource = String(description="Source tracking for devParentPort (USER, LOCKED, NEWDEV, or plugin prefix)")
|
devParentPortSource = String(description="Source tracking for devParentPort (USER, LOCKED, NEWDEV, or plugin prefix)")
|
||||||
devParentRelTypeSource = String(description="Source tracking for devParentRelType (USER, LOCKED, NEWDEV, or plugin prefix)")
|
devParentRelTypeSource = String(description="Source tracking for devParentRelType (USER, LOCKED, NEWDEV, or plugin prefix)")
|
||||||
devVlanSource = String(description="Source tracking for devVlan")
|
devVlanSource = String(description="Source tracking for devVlan")
|
||||||
|
|||||||
@@ -147,11 +147,11 @@ class DeviceInfo(BaseModel):
|
|||||||
devStatus: Optional[str] = Field(None, description="Online/Offline status")
|
devStatus: Optional[str] = Field(None, description="Online/Offline status")
|
||||||
devMacSource: Optional[str] = Field(None, description="Source of devMac (USER, LOCKED, or plugin prefix)")
|
devMacSource: Optional[str] = Field(None, description="Source of devMac (USER, LOCKED, or plugin prefix)")
|
||||||
devNameSource: Optional[str] = Field(None, description="Source of devName")
|
devNameSource: Optional[str] = Field(None, description="Source of devName")
|
||||||
devFqdnSource: Optional[str] = Field(None, description="Source of devFQDN")
|
devFQDNSource: Optional[str] = Field(None, description="Source of devFQDN")
|
||||||
devLastIpSource: Optional[str] = Field(None, description="Source of devLastIP")
|
devLastIPSource: Optional[str] = Field(None, description="Source of devLastIP")
|
||||||
devVendorSource: Optional[str] = Field(None, description="Source of devVendor")
|
devVendorSource: Optional[str] = Field(None, description="Source of devVendor")
|
||||||
devSsidSource: Optional[str] = Field(None, description="Source of devSSID")
|
devSSIDSource: Optional[str] = Field(None, description="Source of devSSID")
|
||||||
devParentMacSource: Optional[str] = Field(None, description="Source of devParentMAC")
|
devParentMACSource: Optional[str] = Field(None, description="Source of devParentMAC")
|
||||||
devParentPortSource: Optional[str] = Field(None, description="Source of devParentPort")
|
devParentPortSource: Optional[str] = Field(None, description="Source of devParentPort")
|
||||||
devParentRelTypeSource: Optional[str] = Field(None, description="Source of devParentRelType")
|
devParentRelTypeSource: Optional[str] = Field(None, description="Source of devParentRelType")
|
||||||
devVlanSource: Optional[str] = Field(None, description="Source of devVlan")
|
devVlanSource: Optional[str] = Field(None, description="Source of devVlan")
|
||||||
|
|||||||
@@ -96,11 +96,11 @@ sql_devices_all = """
|
|||||||
IFNULL(devReqNicsOnline, '') AS devReqNicsOnline,
|
IFNULL(devReqNicsOnline, '') AS devReqNicsOnline,
|
||||||
IFNULL(devMacSource, '') AS devMacSource,
|
IFNULL(devMacSource, '') AS devMacSource,
|
||||||
IFNULL(devNameSource, '') AS devNameSource,
|
IFNULL(devNameSource, '') AS devNameSource,
|
||||||
IFNULL(devFqdnSource, '') AS devFqdnSource,
|
IFNULL(devFQDNSource, '') AS devFQDNSource,
|
||||||
IFNULL(devLastIpSource, '') AS devLastIpSource,
|
IFNULL(devLastIPSource, '') AS devLastIPSource,
|
||||||
IFNULL(devVendorSource, '') AS devVendorSource,
|
IFNULL(devVendorSource, '') AS devVendorSource,
|
||||||
IFNULL(devSsidSource, '') AS devSsidSource,
|
IFNULL(devSSIDSource, '') AS devSSIDSource,
|
||||||
IFNULL(devParentMacSource, '') AS devParentMacSource,
|
IFNULL(devParentMACSource, '') AS devParentMACSource,
|
||||||
IFNULL(devParentPortSource, '') AS devParentPortSource,
|
IFNULL(devParentPortSource, '') AS devParentPortSource,
|
||||||
IFNULL(devParentRelTypeSource, '') AS devParentRelTypeSource,
|
IFNULL(devParentRelTypeSource, '') AS devParentRelTypeSource,
|
||||||
IFNULL(devVlanSource, '') AS devVlanSource,
|
IFNULL(devVlanSource, '') AS devVlanSource,
|
||||||
|
|||||||
@@ -24,11 +24,11 @@ from db.db_helper import row_to_json # noqa: E402 [flake8 lint suppression]
|
|||||||
FIELD_SOURCE_MAP = {
|
FIELD_SOURCE_MAP = {
|
||||||
"devMac": "devMacSource",
|
"devMac": "devMacSource",
|
||||||
"devName": "devNameSource",
|
"devName": "devNameSource",
|
||||||
"devFQDN": "devFqdnSource",
|
"devFQDN": "devFQDNSource",
|
||||||
"devLastIP": "devLastIpSource",
|
"devLastIP": "devLastIPSource",
|
||||||
"devVendor": "devVendorSource",
|
"devVendor": "devVendorSource",
|
||||||
"devSSID": "devSsidSource",
|
"devSSID": "devSSIDSource",
|
||||||
"devParentMAC": "devParentMacSource",
|
"devParentMAC": "devParentMACSource",
|
||||||
"devParentPort": "devParentPortSource",
|
"devParentPort": "devParentPortSource",
|
||||||
"devParentRelType": "devParentRelTypeSource",
|
"devParentRelType": "devParentRelTypeSource",
|
||||||
"devVlan": "devVlanSource",
|
"devVlan": "devVlanSource",
|
||||||
|
|||||||
@@ -50,11 +50,11 @@ EXPECTED_DEVICES_COLUMNS = [
|
|||||||
"devSourcePlugin",
|
"devSourcePlugin",
|
||||||
"devMacSource",
|
"devMacSource",
|
||||||
"devNameSource",
|
"devNameSource",
|
||||||
"devFqdnSource",
|
"devFQDNSource",
|
||||||
"devLastIpSource",
|
"devLastIPSource",
|
||||||
"devVendorSource",
|
"devVendorSource",
|
||||||
"devSsidSource",
|
"devSSIDSource",
|
||||||
"devParentMacSource",
|
"devParentMACSource",
|
||||||
"devParentPortSource",
|
"devParentPortSource",
|
||||||
"devParentRelTypeSource",
|
"devParentRelTypeSource",
|
||||||
"devVlanSource",
|
"devVlanSource",
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ FIELD_SPECS = {
|
|||||||
# ==========================================================
|
# ==========================================================
|
||||||
"devLastIP": {
|
"devLastIP": {
|
||||||
"scan_col": "cur_IP",
|
"scan_col": "cur_IP",
|
||||||
"source_col": "devLastIpSource",
|
"source_col": "devLastIPSource",
|
||||||
"empty_values": ["", "null", "(unknown)", "(Unknown)"],
|
"empty_values": ["", "null", "(unknown)", "(Unknown)"],
|
||||||
"priority": ["ARPSCAN", "NEWDEV", "N/A"],
|
"priority": ["ARPSCAN", "NEWDEV", "N/A"],
|
||||||
"default_value": "0.0.0.0",
|
"default_value": "0.0.0.0",
|
||||||
@@ -177,7 +177,7 @@ FIELD_SPECS = {
|
|||||||
# ==========================================================
|
# ==========================================================
|
||||||
"devParentMAC": {
|
"devParentMAC": {
|
||||||
"scan_col": "cur_NetworkNodeMAC",
|
"scan_col": "cur_NetworkNodeMAC",
|
||||||
"source_col": "devParentMacSource",
|
"source_col": "devParentMACSource",
|
||||||
"empty_values": ["", "null"],
|
"empty_values": ["", "null"],
|
||||||
"priority": ["SNMPDSC", "UNIFIAPI", "UNFIMP", "NEWDEV", "N/A"],
|
"priority": ["SNMPDSC", "UNIFIAPI", "UNFIMP", "NEWDEV", "N/A"],
|
||||||
},
|
},
|
||||||
@@ -801,11 +801,11 @@ def create_new_devices(db):
|
|||||||
devSourcePlugin,
|
devSourcePlugin,
|
||||||
devMacSource,
|
devMacSource,
|
||||||
devNameSource,
|
devNameSource,
|
||||||
devFqdnSource,
|
devFQDNSource,
|
||||||
devLastIpSource,
|
devLastIPSource,
|
||||||
devVendorSource,
|
devVendorSource,
|
||||||
devSsidSource,
|
devSSIDSource,
|
||||||
devParentMacSource,
|
devParentMACSource,
|
||||||
devParentPortSource,
|
devParentPortSource,
|
||||||
devParentRelTypeSource,
|
devParentRelTypeSource,
|
||||||
devVlanSource,
|
devVlanSource,
|
||||||
@@ -1031,7 +1031,7 @@ def update_devices_names(pm):
|
|||||||
"devName", "devNameSource", plugin_settings
|
"devName", "devNameSource", plugin_settings
|
||||||
)
|
)
|
||||||
fqdn_clause = get_overwrite_sql_clause(
|
fqdn_clause = get_overwrite_sql_clause(
|
||||||
"devFQDN", "devFqdnSource", plugin_settings
|
"devFQDN", "devFQDNSource", plugin_settings
|
||||||
)
|
)
|
||||||
|
|
||||||
sql.executemany(
|
sql.executemany(
|
||||||
@@ -1048,9 +1048,9 @@ def update_devices_names(pm):
|
|||||||
WHEN {fqdn_clause} THEN ?
|
WHEN {fqdn_clause} THEN ?
|
||||||
ELSE devFQDN
|
ELSE devFQDN
|
||||||
END,
|
END,
|
||||||
devFqdnSource = CASE
|
devFQDNSource = CASE
|
||||||
WHEN {fqdn_clause} THEN ?
|
WHEN {fqdn_clause} THEN ?
|
||||||
ELSE devFqdnSource
|
ELSE devFQDNSource
|
||||||
END
|
END
|
||||||
WHERE devMac = ?""",
|
WHERE devMac = ?""",
|
||||||
plugin_records,
|
plugin_records,
|
||||||
@@ -1079,7 +1079,7 @@ def update_devices_names(pm):
|
|||||||
for plugin_label, plugin_records in records_by_plugin.items():
|
for plugin_label, plugin_records in records_by_plugin.items():
|
||||||
plugin_settings = get_plugin_authoritative_settings(plugin_label)
|
plugin_settings = get_plugin_authoritative_settings(plugin_label)
|
||||||
fqdn_clause = get_overwrite_sql_clause(
|
fqdn_clause = get_overwrite_sql_clause(
|
||||||
"devFQDN", "devFqdnSource", plugin_settings
|
"devFQDN", "devFQDNSource", plugin_settings
|
||||||
)
|
)
|
||||||
|
|
||||||
# Apply FQDN-only updates
|
# Apply FQDN-only updates
|
||||||
@@ -1089,9 +1089,9 @@ def update_devices_names(pm):
|
|||||||
WHEN {fqdn_clause} THEN ?
|
WHEN {fqdn_clause} THEN ?
|
||||||
ELSE devFQDN
|
ELSE devFQDN
|
||||||
END,
|
END,
|
||||||
devFqdnSource = CASE
|
devFQDNSource = CASE
|
||||||
WHEN {fqdn_clause} THEN ?
|
WHEN {fqdn_clause} THEN ?
|
||||||
ELSE devFqdnSource
|
ELSE devFQDNSource
|
||||||
END
|
END
|
||||||
WHERE devMac = ?""",
|
WHERE devMac = ?""",
|
||||||
plugin_records,
|
plugin_records,
|
||||||
|
|||||||
@@ -129,11 +129,11 @@ class TestFieldSourceMapping:
|
|||||||
expected_fields = {
|
expected_fields = {
|
||||||
"devMac": "devMacSource",
|
"devMac": "devMacSource",
|
||||||
"devName": "devNameSource",
|
"devName": "devNameSource",
|
||||||
"devFQDN": "devFqdnSource",
|
"devFQDN": "devFQDNSource",
|
||||||
"devLastIP": "devLastIpSource",
|
"devLastIP": "devLastIPSource",
|
||||||
"devVendor": "devVendorSource",
|
"devVendor": "devVendorSource",
|
||||||
"devSSID": "devSsidSource",
|
"devSSID": "devSSIDSource",
|
||||||
"devParentMAC": "devParentMacSource",
|
"devParentMAC": "devParentMACSource",
|
||||||
"devParentPort": "devParentPortSource",
|
"devParentPort": "devParentPortSource",
|
||||||
"devParentRelType": "devParentRelTypeSource",
|
"devParentRelType": "devParentRelTypeSource",
|
||||||
"devVlan": "devVlanSource",
|
"devVlan": "devVlanSource",
|
||||||
|
|||||||
@@ -414,7 +414,7 @@ class TestFieldLockIntegration:
|
|||||||
device_data = device_handler.getDeviceData(test_mac)
|
device_data = device_handler.getDeviceData(test_mac)
|
||||||
assert device_data.get("devNameSource") == "NEWDEV"
|
assert device_data.get("devNameSource") == "NEWDEV"
|
||||||
assert device_data.get("devVendorSource") == "NEWDEV"
|
assert device_data.get("devVendorSource") == "NEWDEV"
|
||||||
assert device_data.get("devSsidSource") == "NEWDEV"
|
assert device_data.get("devSSIDSource") == "NEWDEV"
|
||||||
|
|
||||||
# Simulate a UI "save" that resubmits the same values.
|
# Simulate a UI "save" that resubmits the same values.
|
||||||
update_result = device_handler.setDeviceData(
|
update_result = device_handler.setDeviceData(
|
||||||
@@ -430,7 +430,7 @@ class TestFieldLockIntegration:
|
|||||||
device_data = device_handler.getDeviceData(test_mac)
|
device_data = device_handler.getDeviceData(test_mac)
|
||||||
assert device_data.get("devNameSource") == "NEWDEV"
|
assert device_data.get("devNameSource") == "NEWDEV"
|
||||||
assert device_data.get("devVendorSource") == "NEWDEV"
|
assert device_data.get("devVendorSource") == "NEWDEV"
|
||||||
assert device_data.get("devSsidSource") == "NEWDEV"
|
assert device_data.get("devSSIDSource") == "NEWDEV"
|
||||||
|
|
||||||
def test_only_changed_fields_marked_user(self, test_mac):
|
def test_only_changed_fields_marked_user(self, test_mac):
|
||||||
"""When saving, only fields whose values changed should become USER."""
|
"""When saving, only fields whose values changed should become USER."""
|
||||||
@@ -461,7 +461,7 @@ class TestFieldLockIntegration:
|
|||||||
device_data = device_handler.getDeviceData(test_mac)
|
device_data = device_handler.getDeviceData(test_mac)
|
||||||
assert device_data.get("devNameSource") == "USER"
|
assert device_data.get("devNameSource") == "USER"
|
||||||
assert device_data.get("devVendorSource") == "NEWDEV"
|
assert device_data.get("devVendorSource") == "NEWDEV"
|
||||||
assert device_data.get("devSsidSource") == "NEWDEV"
|
assert device_data.get("devSSIDSource") == "NEWDEV"
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
@@ -39,19 +39,19 @@ def scan_db():
|
|||||||
devNameSource TEXT DEFAULT 'NEWDEV',
|
devNameSource TEXT DEFAULT 'NEWDEV',
|
||||||
devVendor TEXT,
|
devVendor TEXT,
|
||||||
devVendorSource TEXT DEFAULT 'NEWDEV',
|
devVendorSource TEXT DEFAULT 'NEWDEV',
|
||||||
devLastIpSource TEXT DEFAULT 'NEWDEV',
|
devLastIPSource TEXT DEFAULT 'NEWDEV',
|
||||||
devType TEXT,
|
devType TEXT,
|
||||||
devIcon TEXT,
|
devIcon TEXT,
|
||||||
devParentPort TEXT,
|
devParentPort TEXT,
|
||||||
devParentPortSource TEXT DEFAULT 'NEWDEV',
|
devParentPortSource TEXT DEFAULT 'NEWDEV',
|
||||||
devParentMAC TEXT,
|
devParentMAC TEXT,
|
||||||
devParentMacSource TEXT DEFAULT 'NEWDEV',
|
devParentMACSource TEXT DEFAULT 'NEWDEV',
|
||||||
devSite TEXT,
|
devSite TEXT,
|
||||||
devSiteSource TEXT DEFAULT 'NEWDEV',
|
devSiteSource TEXT DEFAULT 'NEWDEV',
|
||||||
devSSID TEXT,
|
devSSID TEXT,
|
||||||
devSsidSource TEXT DEFAULT 'NEWDEV',
|
devSSIDSource TEXT DEFAULT 'NEWDEV',
|
||||||
devFQDN TEXT,
|
devFQDN TEXT,
|
||||||
devFqdnSource TEXT DEFAULT 'NEWDEV',
|
devFQDNSource TEXT DEFAULT 'NEWDEV',
|
||||||
devParentRelType TEXT,
|
devParentRelType TEXT,
|
||||||
devParentRelTypeSource TEXT DEFAULT 'NEWDEV',
|
devParentRelTypeSource TEXT DEFAULT 'NEWDEV',
|
||||||
devVlan TEXT,
|
devVlan TEXT,
|
||||||
@@ -165,11 +165,11 @@ def scan_db_for_new_devices():
|
|||||||
devSourcePlugin TEXT,
|
devSourcePlugin TEXT,
|
||||||
devMacSource TEXT,
|
devMacSource TEXT,
|
||||||
devNameSource TEXT,
|
devNameSource TEXT,
|
||||||
devFqdnSource TEXT,
|
devFQDNSource TEXT,
|
||||||
devLastIpSource TEXT,
|
devLastIPSource TEXT,
|
||||||
devVendorSource TEXT,
|
devVendorSource TEXT,
|
||||||
devSsidSource TEXT,
|
devSSIDSource TEXT,
|
||||||
devParentMacSource TEXT,
|
devParentMACSource TEXT,
|
||||||
devParentPortSource TEXT,
|
devParentPortSource TEXT,
|
||||||
devParentRelTypeSource TEXT,
|
devParentRelTypeSource TEXT,
|
||||||
devVlanSource TEXT,
|
devVlanSource TEXT,
|
||||||
@@ -304,12 +304,12 @@ def test_create_new_devices_sets_sources(scan_db_for_new_devices):
|
|||||||
devMacSource,
|
devMacSource,
|
||||||
devNameSource,
|
devNameSource,
|
||||||
devVendorSource,
|
devVendorSource,
|
||||||
devLastIpSource,
|
devLastIPSource,
|
||||||
devSsidSource,
|
devSSIDSource,
|
||||||
devParentMacSource,
|
devParentMACSource,
|
||||||
devParentPortSource,
|
devParentPortSource,
|
||||||
devParentRelTypeSource,
|
devParentRelTypeSource,
|
||||||
devFqdnSource,
|
devFQDNSource,
|
||||||
devVlanSource
|
devVlanSource
|
||||||
FROM Devices WHERE devMac = ?
|
FROM Devices WHERE devMac = ?
|
||||||
""",
|
""",
|
||||||
@@ -319,12 +319,12 @@ def test_create_new_devices_sets_sources(scan_db_for_new_devices):
|
|||||||
assert row["devMacSource"] == "ARPSCAN"
|
assert row["devMacSource"] == "ARPSCAN"
|
||||||
assert row["devNameSource"] == "ARPSCAN"
|
assert row["devNameSource"] == "ARPSCAN"
|
||||||
assert row["devVendorSource"] == "ARPSCAN"
|
assert row["devVendorSource"] == "ARPSCAN"
|
||||||
assert row["devLastIpSource"] == "ARPSCAN"
|
assert row["devLastIPSource"] == "ARPSCAN"
|
||||||
assert row["devSsidSource"] == "ARPSCAN"
|
assert row["devSSIDSource"] == "ARPSCAN"
|
||||||
assert row["devParentMacSource"] == "ARPSCAN"
|
assert row["devParentMACSource"] == "ARPSCAN"
|
||||||
assert row["devParentPortSource"] == "ARPSCAN"
|
assert row["devParentPortSource"] == "ARPSCAN"
|
||||||
assert row["devParentRelTypeSource"] == "NEWDEV"
|
assert row["devParentRelTypeSource"] == "NEWDEV"
|
||||||
assert row["devFqdnSource"] == "NEWDEV"
|
assert row["devFQDNSource"] == "NEWDEV"
|
||||||
assert row["devVlanSource"] == "NEWDEV"
|
assert row["devVlanSource"] == "NEWDEV"
|
||||||
|
|
||||||
|
|
||||||
@@ -337,7 +337,7 @@ def test_scan_updates_newdev_device_name(scan_db, mock_device_handlers):
|
|||||||
"""
|
"""
|
||||||
INSERT INTO Devices (
|
INSERT INTO Devices (
|
||||||
devMac, devLastConnection, devPresentLastScan, devLastIP,
|
devMac, devLastConnection, devPresentLastScan, devLastIP,
|
||||||
devName, devNameSource, devVendor, devVendorSource, devLastIpSource,
|
devName, devNameSource, devVendor, devVendorSource, devLastIPSource,
|
||||||
devType, devIcon, devParentPort, devParentMAC, devSite, devSSID
|
devType, devIcon, devParentPort, devParentMAC, devSite, devSSID
|
||||||
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||||
""",
|
""",
|
||||||
@@ -412,7 +412,7 @@ def test_scan_does_not_update_user_field_name(scan_db, mock_device_handlers):
|
|||||||
"""
|
"""
|
||||||
INSERT INTO Devices (
|
INSERT INTO Devices (
|
||||||
devMac, devLastConnection, devPresentLastScan, devLastIP,
|
devMac, devLastConnection, devPresentLastScan, devLastIP,
|
||||||
devName, devNameSource, devVendor, devVendorSource, devLastIpSource,
|
devName, devNameSource, devVendor, devVendorSource, devLastIPSource,
|
||||||
devType, devIcon, devParentPort, devParentMAC, devSite, devSSID
|
devType, devIcon, devParentPort, devParentMAC, devSite, devSSID
|
||||||
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||||
""",
|
""",
|
||||||
@@ -487,7 +487,7 @@ def test_scan_does_not_update_locked_field(scan_db, mock_device_handlers):
|
|||||||
"""
|
"""
|
||||||
INSERT INTO Devices (
|
INSERT INTO Devices (
|
||||||
devMac, devLastConnection, devPresentLastScan, devLastIP,
|
devMac, devLastConnection, devPresentLastScan, devLastIP,
|
||||||
devName, devNameSource, devVendor, devVendorSource, devLastIpSource,
|
devName, devNameSource, devVendor, devVendorSource, devLastIPSource,
|
||||||
devType, devIcon, devParentPort, devParentMAC, devSite, devSSID
|
devType, devIcon, devParentPort, devParentMAC, devSite, devSSID
|
||||||
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||||
""",
|
""",
|
||||||
@@ -562,7 +562,7 @@ def test_scan_updates_empty_vendor_field(scan_db, mock_device_handlers):
|
|||||||
"""
|
"""
|
||||||
INSERT INTO Devices (
|
INSERT INTO Devices (
|
||||||
devMac, devLastConnection, devPresentLastScan, devLastIP,
|
devMac, devLastConnection, devPresentLastScan, devLastIP,
|
||||||
devName, devNameSource, devVendor, devVendorSource, devLastIpSource,
|
devName, devNameSource, devVendor, devVendorSource, devLastIPSource,
|
||||||
devType, devIcon, devParentPort, devParentMAC, devSite, devSSID
|
devType, devIcon, devParentPort, devParentMAC, devSite, devSSID
|
||||||
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||||
""",
|
""",
|
||||||
@@ -637,7 +637,7 @@ def test_scan_updates_ip_addresses(scan_db, mock_device_handlers):
|
|||||||
"""
|
"""
|
||||||
INSERT INTO Devices (
|
INSERT INTO Devices (
|
||||||
devMac, devLastConnection, devPresentLastScan, devLastIP,
|
devMac, devLastConnection, devPresentLastScan, devLastIP,
|
||||||
devName, devNameSource, devVendor, devVendorSource, devLastIpSource,
|
devName, devNameSource, devVendor, devVendorSource, devLastIPSource,
|
||||||
devType, devIcon, devParentPort, devParentMAC, devSite, devSSID,
|
devType, devIcon, devParentPort, devParentMAC, devSite, devSSID,
|
||||||
devPrimaryIPv4, devPrimaryIPv6
|
devPrimaryIPv4, devPrimaryIPv6
|
||||||
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||||
@@ -717,7 +717,7 @@ def test_scan_updates_ipv6_without_changing_ipv4(scan_db, mock_device_handlers):
|
|||||||
"""
|
"""
|
||||||
INSERT INTO Devices (
|
INSERT INTO Devices (
|
||||||
devMac, devLastConnection, devPresentLastScan, devLastIP,
|
devMac, devLastConnection, devPresentLastScan, devLastIP,
|
||||||
devName, devNameSource, devVendor, devVendorSource, devLastIpSource,
|
devName, devNameSource, devVendor, devVendorSource, devLastIPSource,
|
||||||
devType, devIcon, devParentPort, devParentMAC, devSite, devSSID,
|
devType, devIcon, devParentPort, devParentMAC, devSite, devSSID,
|
||||||
devPrimaryIPv4, devPrimaryIPv6
|
devPrimaryIPv4, devPrimaryIPv6
|
||||||
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||||
@@ -796,7 +796,7 @@ def test_scan_updates_presence_status(scan_db, mock_device_handlers):
|
|||||||
"""
|
"""
|
||||||
INSERT INTO Devices (
|
INSERT INTO Devices (
|
||||||
devMac, devLastConnection, devPresentLastScan, devLastIP,
|
devMac, devLastConnection, devPresentLastScan, devLastIP,
|
||||||
devName, devNameSource, devVendor, devVendorSource, devLastIpSource,
|
devName, devNameSource, devVendor, devVendorSource, devLastIPSource,
|
||||||
devType, devIcon, devParentPort, devParentMAC, devSite, devSSID
|
devType, devIcon, devParentPort, devParentMAC, devSite, devSSID
|
||||||
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||||
""",
|
""",
|
||||||
@@ -855,7 +855,7 @@ def test_scan_multiple_devices_mixed_sources(scan_db, mock_device_handlers):
|
|||||||
"""
|
"""
|
||||||
INSERT INTO Devices (
|
INSERT INTO Devices (
|
||||||
devMac, devLastConnection, devPresentLastScan, devLastIP,
|
devMac, devLastConnection, devPresentLastScan, devLastIP,
|
||||||
devName, devNameSource, devVendor, devVendorSource, devLastIpSource,
|
devName, devNameSource, devVendor, devVendorSource, devLastIPSource,
|
||||||
devType, devIcon, devParentPort, devParentMAC, devSite, devSSID
|
devType, devIcon, devParentPort, devParentMAC, devSite, devSSID
|
||||||
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||||
""",
|
""",
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ def ip_test_db():
|
|||||||
devPresentLastScan INTEGER,
|
devPresentLastScan INTEGER,
|
||||||
devForceStatus TEXT,
|
devForceStatus TEXT,
|
||||||
devLastIP TEXT,
|
devLastIP TEXT,
|
||||||
devLastIpSource TEXT DEFAULT 'NEWDEV',
|
devLastIPSource TEXT DEFAULT 'NEWDEV',
|
||||||
devPrimaryIPv4 TEXT,
|
devPrimaryIPv4 TEXT,
|
||||||
devPrimaryIPv4Source TEXT DEFAULT 'NEWDEV',
|
devPrimaryIPv4Source TEXT DEFAULT 'NEWDEV',
|
||||||
devPrimaryIPv6 TEXT,
|
devPrimaryIPv6 TEXT,
|
||||||
|
|||||||
Reference in New Issue
Block a user