[rfc][icedtea-web] Resource/ResourceTracker clean up

Omair Majid omajid at redhat.com
Wed May 14 18:14:37 UTC 2014


Hi,

Just one concern. This isn't a blocker; feel free to fix it in another
patch.

* Andrew Azores <aazores at redhat.com> [2014-05-13 10:57]:
>      @Test
> -    public void testSelectByFlag() throws Exception {
> +    public void testSelectByStatus() throws Exception {
>          Resource connectedResource = Resource.getResource(new URL("http://example.com/connected.jar"), new Version("1.0"), UpdatePolicy.ALWAYS);
> -        connectedResource.status = Resource.CONNECTED | Resource.DOWNLOADING;
> +        connectedResource.setStatusFlags(EnumSet.of(CONNECTED, DOWNLOADING));
>          Resource erroredResource = Resource.getResource(new URL("http://example.com/errored.jar"), new Version("1.0"), UpdatePolicy.ALWAYS);
> -        erroredResource.status = Resource.ERROR | Resource.CONNECT;
> +        erroredResource.setStatusFlags(EnumSet.of(ERROR, CONNECT));
>          Resource downloadingResource = Resource.getResource(new URL("http://example.com/downloading.jar"), new Version("1.0"), UpdatePolicy.ALWAYS);
> -        downloadingResource.status = Resource.DOWNLOADING;
> +        downloadingResource.setStatusFlag(DOWNLOADING);
>          Resource uninitializedResource = Resource.getResource(new URL("http://example.com/uninitialized.jar"), new Version("1.0"), UpdatePolicy.ALWAYS);
>          List<Resource> source = Arrays.asList(connectedResource, erroredResource, downloadingResource, uninitializedResource);
>  
> -        Resource result1 = ResourceTracker.selectByFlag(source, Resource.CONNECT | Resource.CONNECTING | Resource.CONNECTED, Resource.ERROR);
> -        Resource result2 = ResourceTracker.selectByFlag(source, Resource.DOWNLOADING, Resource.CONNECTED);
> -        Resource result3 = ResourceTracker.selectByFlag(source, Resource.DOWNLOADED, Resource.UNINITIALIZED);
> -        Resource result4 = ResourceTracker.selectByFlag(source, Resource.UNINITIALIZED, Integer.MAX_VALUE);
> -        Resource result5 = ResourceTracker.selectByFlag(source, Resource.CONNECT | Resource.CONNECTING | Resource.CONNECTED, Resource.DOWNLOADING);
> +        Resource result1 = ResourceTracker.selectByStatus(source, EnumSet.of(CONNECT, CONNECTING, CONNECTED), EnumSet.of(ERROR));
> +        Resource result2 = ResourceTracker.selectByStatus(source, DOWNLOADING, CONNECTED);
> +        Resource result3 = ResourceTracker.selectByFilter(source, new ResourceTracker.Filter<Resource>() {
> +            @Override
> +            public boolean test(Resource t) {
> +                return t.isSet(DOWNLOADED) && t.isInitialized();
> +            }
> +        });
> +        Resource result4 = ResourceTracker.selectByFilter(source, new ResourceTracker.Filter<Resource>() {
> +            @Override
> +            public boolean test(Resource t) {
> +                return !t.isInitialized();
> +            }
> +        });
> +        Resource result5 = ResourceTracker.selectByStatus(source, EnumSet.of(CONNECT, CONNECTING, CONNECTED), EnumSet.of(DOWNLOADING));
>  
> -        Assert.assertEquals(connectedResource, result1);
> -        Assert.assertEquals(downloadingResource, result2);
> +        Assert.assertEquals("result1 should be connected resource", connectedResource, result1);
> +        Assert.assertEquals("result2 should be downloading resource", downloadingResource, result2);
>          Assert.assertNull("Result 3 should have been null", result3);
> -        Assert.assertEquals(uninitializedResource, result4);
> -        Assert.assertEquals(erroredResource, result5);
> +        Assert.assertEquals("result4 should be uninitialized resource", uninitializedResource, result4);
> +        Assert.assertEquals("result5 should be errored resource", erroredResource, result5);

This test is too big. I would like to see it broken up into smaller
tests that each check for one thing.

Thanks,
Omair

-- 
PGP Key: 66484681 (http://pgp.mit.edu/)
Fingerprint = F072 555B 0A17 3957 4E95  0056 F286 F14F 6648 4681


More information about the distro-pkg-dev mailing list