// // Licensed to the Apache Software Foundation (ASF) under one
// // or more contributor license agreements.  See the NOTICE file
// // distributed with this work for additional information
// // regarding copyright ownership.  The ASF licenses this file
// // to you under the Apache License, Version 2.0 (the
// // "License"); you may not use this file except in compliance
// // with the License.  You may obtain a copy of the License at
// //
// //   http://www.apache.org/licenses/LICENSE-2.0
// //
// // Unless required by applicable law or agreed to in writing,
// // software distributed under the License is distributed on an
// // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// // KIND, either express or implied.  See the License for the
// // specific language governing permissions and limitations
// // under the License.

using Apache.Iggy.Enums;

namespace Apache.Iggy.Tests.Integrations.Attributes;

internal class SkipTcpAttribute() : SkipAttribute("This test is skipped for TCP protocol")
{
    public override Task<bool> ShouldSkip(TestRegisteredContext context)
    {
        foreach (var argument in context.TestDetails.TestMethodArguments)
        {
            if (argument is Protocol.Tcp)
            {
                return Task.FromResult(true);
            }
        }

        foreach (var argument in context.TestDetails.TestClassArguments)
        {
            if (argument is Protocol.Tcp)
            {
                return Task.FromResult(true);
            }
        }

        return Task.FromResult(false);
    }
}
