kytos / flow_manager

MIT License
1 stars 16 forks source link

API call /flow_manager/v2/flows/{dpid} on POST is returning misleading response status #134

Open ArturoQuintana opened 3 years ago

ArturoQuintana commented 3 years ago

@hdiogenes @italovalcy @ajoaoff @rmotitsuki

reflected on end-to-end test: tests/test_e2e_20_flow_manager.py::TestE2EFlowManager::test_0131_install_flow_should_fail

Code:

def test_0131_install_flow_should_fail(self):

        payload = {}

        api_url = KYTOS_API + '/flow_manager/v2/flows/00:00:00:00:00:00:00:01'
        response = requests.post(api_url, data=json.dumps(payload),
                                 headers={'Content-type': 'application/json'})
        assert response.status_code == 400

The same happens with these cases:

payload = {
            "flows": [
            ]
        }

and

payload = {
            "flows": [
                {

                }
            ]
        }

Case:

payload = {
            "flows": [
                {
                    "priority"
                }
            ]
        }

The issue mentioned above should be verified for any not serializable JSON