package io.delphi.qa.auto.awsmfrw.tests.api.dataValidation;

import io.delphi.qa.auto.awsmfrw.common_baby.IsaCommonMethods;
import io.delphi.qa.auto.awsmfrw.common_baby.delphi.aws.ICanFetchAwsSecret;
import io.delphi.qa.auto.awsmfrw.managers.helpers.common.IsaAssertions;
import io.delphi.qa.auto.awsmfrw.tests.BsTestCase;
import io.qameta.allure.Story;
import org.testng.annotations.Test;

import java.io.IOException;
import java.util.List;
import java.util.Map;

@Story("DAE-7997 /artist followers verification ")
public class TikTikTopVideoIsrc extends BsTestCase
        implements IsaAssertions, ICanFetchAwsSecret {

  static {
    System.setProperty("delphi.slz.db.pg.isAutomation", "false");
  }

  @Override
  public String genTestRunId() {
    return IsaCommonMethods.testRunId();
  }


  @Story("DAE-11265 ")
  @Test(groups = {"data validation"})
  public void checkTiktokDimTable() throws IOException {

    String query = "select * \n" +
           "from tiktok.fact_tiktok_top_video_lifetime lt   \n" +
           "left outer join tiktok.dim_tiktok_video v on v.video_id = lt.video_id \n" +
            "where v.video_id is null;";
    List<Map<String, String>> result = delphi.db().postgres(delphiApiDbSecret).awsmQueryNew(query);

    isaAssertTrueNew(result.isEmpty(), "Table dim_tiktok_video is not empty");

  }
}