@@ -5,10 +5,7 @@ package software.aws.toolkits.jetbrains.core.notifications
55
66import com.intellij.testFramework.ApplicationExtension
77import io.mockk.every
8- import io.mockk.just
98import io.mockk.mockk
10- import io.mockk.mockkConstructor
11- import io.mockk.runs
129import org.assertj.core.api.Assertions.assertThat
1310import org.junit.jupiter.api.BeforeEach
1411import org.junit.jupiter.api.Test
@@ -17,8 +14,6 @@ import org.junit.jupiter.api.io.TempDir
1714import software.aws.toolkits.core.utils.DefaultRemoteResourceResolver
1815import software.aws.toolkits.core.utils.UpdateCheckResult
1916import software.aws.toolkits.core.utils.UrlFetcher
20- import java.net.HttpURLConnection
21- import java.net.URL
2217import java.nio.file.Path
2318import java.util.concurrent.Callable
2419import java.util.concurrent.CompletableFuture
@@ -45,39 +40,17 @@ class NotificationResourceResolverTest {
4540 fun `first poll with no ETag changes returns FirstPollCheck` () {
4641 NotificationEtagState .getInstance().etag = " same-etag"
4742 val expectedETag = " same-etag"
48- val mockConnection = mockk<HttpURLConnection > {
49- every { requestMethod = any() } just runs
50- every { setRequestProperty(any(), any()) } just runs
51- every { connect() } just runs
52- every { getHeaderField(" ETag" ) } returns expectedETag
53- every { disconnect() } just runs
54- }
55-
56- mockkConstructor(URL ::class )
57- every { anyConstructed<URL >().openConnection() } returns mockConnection
43+ every { urlFetcher.getETag(any()) } returns expectedETag
5844
5945 val result = sut.checkForUpdates(" http://notification.test" , NotificationEtagState .getInstance())
6046 assertThat(result).isEqualTo(UpdateCheckResult .FirstPollCheck )
61-
62- // Second call should not return FirstPollCheck
63- val secondResult = sut.checkForUpdates(" http://notification.test" , NotificationEtagState .getInstance())
64- assertThat(secondResult).isEqualTo(UpdateCheckResult .NoUpdates )
6547 }
6648
6749 @Test
6850 fun `ETag changes returns HasUpdates` () {
6951 NotificationEtagState .getInstance().etag = " old-etag"
7052 val expectedETag = " new-etag"
71- val mockConnection = mockk<HttpURLConnection > {
72- every { requestMethod = any() } just runs
73- every { setRequestProperty(any(), any()) } just runs
74- every { connect() } just runs
75- every { getHeaderField(" ETag" ) } returns expectedETag
76- every { disconnect() } just runs
77- }
78-
79- mockkConstructor(URL ::class )
80- every { anyConstructed<URL >().openConnection() } returns mockConnection
53+ every { urlFetcher.getETag(any()) } returns expectedETag
8154
8255 val result = sut.checkForUpdates(" http://notification.test" , NotificationEtagState .getInstance())
8356 assertThat(result).isEqualTo(UpdateCheckResult .HasUpdates )
@@ -87,16 +60,8 @@ class NotificationResourceResolverTest {
8760 fun `no ETag changes returns NoUpdates after first poll` () {
8861 NotificationEtagState .getInstance().etag = " same-etag"
8962 val expectedETag = " same-etag"
90- val mockConnection = mockk<HttpURLConnection > {
91- every { requestMethod = any() } just runs
92- every { setRequestProperty(any(), any()) } just runs
93- every { connect() } just runs
94- every { getHeaderField(" ETag" ) } returns expectedETag
95- every { disconnect() } just runs
96- }
63+ every { urlFetcher.getETag(any()) } returns expectedETag
9764
98- mockkConstructor(URL ::class )
99- every { anyConstructed<URL >().openConnection() } returns mockConnection
10065 // sets isFirstPoll to false
10166 val firstResult = sut.checkForUpdates(" http://notification.test" , NotificationEtagState .getInstance())
10267 assertThat(firstResult).isEqualTo(UpdateCheckResult .FirstPollCheck )
0 commit comments