Signed-off-by: Alistair Leslie-Hughes leslie_alistair@hotmail.com --- 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 aa4062a..8315b4b 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 7b5bef0..4d70818 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(); }