Newer
Older
mbed-os / connectivity / netsocket / tests / TESTS / network / wifi / wifi_set_credential.cpp
/*
 * Copyright (c) 2017, ARM Limited, All Rights Reserved
 * SPDX-License-Identifier: Apache-2.0
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may
 * not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#include "mbed.h"
#include "greentea-client/test_env.h"
#include "unity.h"
#include "utest.h"
#include "wifi_tests.h"

using namespace utest::v1;

void wifi_set_credential(void)
{
    WiFiInterface *iface = get_interface();
    TEST_ASSERT(iface);
    if (iface == NULL) {
        return;
    }
    nsapi_error_t error;

    error = iface->set_credentials(NULL, NULL, NSAPI_SECURITY_NONE);
    TEST_ASSERT_EQUAL(NSAPI_ERROR_PARAMETER, error);

    error = iface->set_credentials("", "", NSAPI_SECURITY_NONE);
    TEST_ASSERT_EQUAL(NSAPI_ERROR_PARAMETER, error);

    error = iface->set_credentials("OK", NULL, NSAPI_SECURITY_NONE);
    TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, error);

    error = iface->set_credentials("OK", "", NSAPI_SECURITY_NONE);
    TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, error);

    error = iface->set_credentials("OK", NULL, NSAPI_SECURITY_WEP);
    TEST_ASSERT_EQUAL(NSAPI_ERROR_PARAMETER, error);

    error = iface->set_credentials("OK", NULL, NSAPI_SECURITY_WPA_WPA2);
    TEST_ASSERT_EQUAL(NSAPI_ERROR_PARAMETER, error);

    error = iface->set_credentials("OK", "", NSAPI_SECURITY_WPA_WPA2);
    TEST_ASSERT_EQUAL(NSAPI_ERROR_PARAMETER, error);

    error = iface->set_credentials("OK", NULL, NSAPI_SECURITY_WPA3_WPA2);
    TEST_ASSERT_EQUAL(NSAPI_ERROR_PARAMETER, error);

    error = iface->set_credentials("OK", "", NSAPI_SECURITY_WPA3_WPA2);
    TEST_ASSERT_EQUAL(NSAPI_ERROR_PARAMETER, error);

    error = iface->set_credentials("OK", NULL, NSAPI_SECURITY_NONE);
    TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, error);

    error = iface->set_credentials("OK", "12345678", NSAPI_SECURITY_WEP);
    TEST_ASSERT((error == NSAPI_ERROR_OK) || (error == NSAPI_ERROR_UNSUPPORTED));

    error = iface->set_credentials("OK", "12345678", NSAPI_SECURITY_WPA);
    TEST_ASSERT((error == NSAPI_ERROR_OK) || (error == NSAPI_ERROR_UNSUPPORTED));

    error = iface->set_credentials("OK", "12345678", NSAPI_SECURITY_WPA2);
    TEST_ASSERT((error == NSAPI_ERROR_OK) || (error == NSAPI_ERROR_UNSUPPORTED));

    error = iface->set_credentials("OK", "12345678", NSAPI_SECURITY_WPA3);
    TEST_ASSERT((error == NSAPI_ERROR_OK) || (error == NSAPI_ERROR_UNSUPPORTED));

    error = iface->set_credentials("OK", "12345678", NSAPI_SECURITY_WPA_WPA2);
    TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, error);

    error = iface->set_credentials("OK", "12345678", NSAPI_SECURITY_WPA3_WPA2);
    TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, error);

    error = iface->set_credentials("OK", "kUjd0PHHeAqaDoyfcDDEOvbyiVbYMpUHDukGoR6EJZnO5iLzWsfwiM9JQqOngni", get_security());
    TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, error);

    error = iface->set_credentials("OK", "kUjd0PHHeAqaDoyfcDDEOvbyiVbYMpUHDukGoR6EJZnO5iLzWsfwiM9JQqOngni8", get_security());
    TEST_ASSERT_EQUAL(NSAPI_ERROR_PARAMETER, error);
}