From 9e5145a7fe2d488299e6e69c375b8df531c9cb13 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Mon, 23 Apr 2018 02:24:06 +0000 Subject: [PATCH] hnetcfg/tests: Add INetFwAuthorizedApplication tests. Signed-off-by: Alistair Leslie-Hughes Signed-off-by: Alexandre Julliard --- dlls/hnetcfg/tests/Makefile.in | 2 +- dlls/hnetcfg/tests/policy.c | 49 +++++++++++++++++++++++++++++++++- 2 files changed, 49 insertions(+), 2 deletions(-) diff --git a/dlls/hnetcfg/tests/Makefile.in b/dlls/hnetcfg/tests/Makefile.in index aa4062af05e..8315b4be805 100644 --- a/dlls/hnetcfg/tests/Makefile.in +++ b/dlls/hnetcfg/tests/Makefile.in @@ -1,5 +1,5 @@ TESTDLL = hnetcfg.dll -IMPORTS = ole32 uuid +IMPORTS = ole32 uuid oleaut32 advapi32 C_SRCS = \ policy.c diff --git a/dlls/hnetcfg/tests/policy.c b/dlls/hnetcfg/tests/policy.c index 7b5bef008c5..4d708182935 100644 --- a/dlls/hnetcfg/tests/policy.c +++ b/dlls/hnetcfg/tests/policy.c @@ -102,6 +102,53 @@ static void test_interfaces(void) INetFwMgr_Release(manager); } +static void test_NetFwAuthorizedApplication(void) +{ + INetFwAuthorizedApplication *app; + HRESULT hr; + + hr = CoCreateInstance(&CLSID_NetFwAuthorizedApplication, NULL, CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER, + &IID_INetFwAuthorizedApplication, (void**)&app); + ok(hr == S_OK, "got: %08x\n", hr); + if(hr == S_OK) + { + BSTR image = SysAllocStringLen( NULL, MAX_PATH ); + static WCHAR empty[] = {0}; + BSTR bstr; + + if (!GetModuleFileNameW( NULL, image, MAX_PATH )) + { + ok(0, "Failed to get filename\n"); + SysFreeString( image ); + return; + } + + hr = INetFwAuthorizedApplication_get_ProcessImageFileName(app, NULL); + ok(hr == E_POINTER, "got: %08x\n", hr); + + hr = INetFwAuthorizedApplication_get_ProcessImageFileName(app, &bstr); + ok(hr == S_OK || hr == HRESULT_FROM_WIN32(ERROR_NOT_ENOUGH_MEMORY), "got: %08x\n", hr); + ok(!bstr, "got: %s\n", wine_dbgstr_w(bstr)); + + hr = INetFwAuthorizedApplication_put_ProcessImageFileName(app, NULL); + ok(hr == E_INVALIDARG || hr == HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND), "got: %08x\n", hr); + + hr = INetFwAuthorizedApplication_put_ProcessImageFileName(app, empty); + ok(hr == E_INVALIDARG || hr == HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND), "got: %08x\n", hr); + + hr = INetFwAuthorizedApplication_put_ProcessImageFileName(app, image); + ok(hr == S_OK, "got: %08x\n", hr); + + hr = INetFwAuthorizedApplication_get_ProcessImageFileName(app, &bstr); + ok(hr == S_OK, "got: %08x\n", hr); + ok(!lstrcmpW(bstr,image), "got: %s\n", wine_dbgstr_w(bstr)); + SysFreeString( bstr ); + + SysFreeString( image ); + INetFwAuthorizedApplication_Release(app); + } +} + START_TEST(policy) { INetFwMgr *manager; @@ -121,7 +168,7 @@ START_TEST(policy) INetFwMgr_Release(manager); test_interfaces(); - + test_NetFwAuthorizedApplication(); CoUninitialize(); }