From e38c4fd61c32106b945d06b30eb1990d71de34e0 Mon Sep 17 00:00:00 2001 From: chobeebee Date: Wed, 17 Jul 2024 20:30:00 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B9=84=EB=94=94=EC=98=A4=20=EC=9E=AC?= =?UTF-8?q?=EC=83=9D=EA=B8=B0=EB=A1=9D=20=EB=8D=B0=EC=9D=B4=ED=84=B0=20?= =?UTF-8?q?=EB=84=A3=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/sparta/binplay/GenerateTest.java | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 src/test/java/com/sparta/binplay/GenerateTest.java diff --git a/src/test/java/com/sparta/binplay/GenerateTest.java b/src/test/java/com/sparta/binplay/GenerateTest.java new file mode 100644 index 0000000..2464c0a --- /dev/null +++ b/src/test/java/com/sparta/binplay/GenerateTest.java @@ -0,0 +1,70 @@ +package com.sparta.binplay; + +import com.sparta.binplay.entity.*; +import com.sparta.binplay.repository.*; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.List; +import java.util.Random; + +@SpringBootTest +public class GenerateTest { + @Autowired + private StreamRepository streamsRepository; + + @Autowired + private AdViewRepository adViewsRepository; + + @Autowired + private AdRepository adsRepository; + + @Autowired + private VideoRepository videosRepository; + + @Autowired + private UserRepository userRepository; + + @Autowired + private VideoAdRepository videoAdRepository; + + public void generateData(int numRecords) { + Random random = new Random(); + Users user = userRepository.findById(1L).orElseThrow(() -> new IllegalArgumentException("User not found")); + List videos = videosRepository.findAll(); + List ads = adsRepository.findAll(); + List videoAds = videoAdRepository.findAll(); + //List<> dd = new ArrayList<>(); //<- 여기 + + for (Videos video : videos) { + for (int i = 0; i < numRecords; i++) { + int playTime = random.nextInt(1800) + 300; // 300초에서 1800초 사이의 랜덤 시간 + Streams stream = new Streams(); + stream.setCreatedAt(LocalDateTime.now().minusDays(1)); + stream.setPlayTime(playTime); + stream.setUser(user); // 예시로 user_id를 1로 설정, 실제로는 동적으로 설정 필요 + stream.setVideo(video); + streamsRepository.save(stream); + + int numAds = playTime / 300; + + for (int j = 0; j < numAds; j++) { + VideoAd videoAd = videoAds.get(random.nextInt(videoAds.size())); + AdViews adView = new AdViews(); + adView.setCreatedAt(LocalDate.now().minusDays(1)); + adView.setVideoAd(videoAd); + adViewsRepository.save(adView); + } + } + } + //repository.saveAll(); + } + + @Test + public void testGenerateData() { + generateData(2000); // 10개의 기록을 생성- + } +}