001/*
002 * Licensed to the Apache Software Foundation (ASF) under one or more
003 * contributor license agreements.  See the NOTICE file distributed with
004 * this work for additional information regarding copyright ownership.
005 * The ASF licenses this file to You under the Apache License, Version 2.0
006 * (the "License"); you may not use this file except in compliance with
007 * the License.  You may obtain a copy of the License at
008 *
009 *      http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017package org.apache.commons.fileupload2.core;
018
019import static org.junit.jupiter.api.Assertions.assertFalse;
020import static org.junit.jupiter.api.Assertions.assertNotNull;
021import static org.junit.jupiter.api.Assertions.assertSame;
022
023import org.apache.commons.fileupload2.core.FileItemFactory.AbstractFileItemBuilder;
024import org.junit.jupiter.api.Test;
025
026/**
027 * Tests for {@link DiskFileItem}.
028 */
029public class DiskFileItemFactoryTest {
030
031    @Test
032    void testHeaders() {
033        final var factory = DiskFileItemFactory.builder().get();
034        final var fileItemBuilder = factory.fileItemBuilder();
035        assertNotNull(fileItemBuilder.getFileItemHeaders());
036        final var fileItem = fileItemBuilder.get();
037        assertNotNull(fileItem.getHeaders(), "Missing default headers (empty)");
038        assertFalse(fileItem.getHeaders().getHeaderNames().hasNext());
039        final var fileItemHeaders = AbstractFileItemBuilder.newFileItemHeaders();
040        assertNotNull(fileItemHeaders);
041        fileItem.setHeaders(fileItemHeaders);
042        assertSame(fileItemHeaders, fileItem.getHeaders());
043    }
044
045}