diff --git a/inventory_provider/routes/classifier.py b/inventory_provider/routes/classifier.py
index 906664ff68da43092378affcb8aff3dcc51e06a6..ba9f31a365bb86cea64771353215471e8726a906 100644
--- a/inventory_provider/routes/classifier.py
+++ b/inventory_provider/routes/classifier.py
@@ -413,15 +413,18 @@ def get_trap_metadata(source_equipment, interface, circuit_id):
     return Response(result, mimetype="application/json")
 
 
-@routes.route("/infinera-fibrelink-info/<ne_name_str>/<object_name_str>",
+@routes.route("/infinera-fiberlink-info/<ne_name_str>/<object_name_str>",
               methods=['GET', 'POST'])
 @common.require_accepts_json
-def get_fibrelink_trap_metadata(ne_name_str, object_name_str):
+def get_fiberlink_trap_metadata(ne_name_str, object_name_str):
     objects = object_name_str.split('_')
-    shelfs = [x.split('-')[0] for x in objects]
+    shelves = [x.split('-')[0] for x in objects]
     p = r'([a-zA-Z\d]+?-(OLA|DTNX)\d+(-\d)?)'
     matches = re.findall(p, ne_name_str)
-    assert len(matches) == 2
+    if len(matches) != 2 or len(shelves) != 2:
+        raise ClassifierProcessingError(
+            f'unable to parse {ne_name_str} {object_name_str } '
+            'into two elements')
 
     r = common.get_current_redis()
 
@@ -432,16 +435,15 @@ def get_fibrelink_trap_metadata(ne_name_str, object_name_str):
     if result:
         result = result.decode('utf-8')
     else:
-        nes_a = f'{matches[0][0]}-{shelfs[0]}'
-        nes_b = f'{matches[1][0]}-{shelfs[1]}'
+        nes_a = f'{matches[0][0]}-{shelves[0]}'
+        nes_b = f'{matches[1][0]}-{shelves[1]}'
         result = []
         df_a = r.get(f'opsdb:ne_fibre_spans:{nes_a}')
         df_b = r.get(f'opsdb:ne_fibre_spans:{nes_b}')
-        if df_a:
+        if df_a and df_b:
             a = json.loads(df_a.decode('utf-8'))
-        if df_b:
             b = json.loads(df_b.decode('utf-8'))
-        if df_a and df_b:
+
             matches = [x for x in itertools.product(a, b) if
                        x[0]['df_route_id'] == x[1]['df_route_id']]
             if matches:
@@ -469,7 +471,8 @@ def get_fibrelink_trap_metadata(ne_name_str, object_name_str):
         r.set(cache_key, result)
         if not result:
             return Response(
-                response=f'no available info for {ne_name_str}',
+                response="no available info for "
+                         f"{ne_name_str} {object_name_str}",
                 status=404,
                 mimetype="text/html")